Generated by Cython 3.0.0b3
Yellow lines hint at Python interaction.
Click on a line that starts with a "+" to see the C code that Cython generated for it.
Raw output: clm.c
+0001: # cython: c_string_type=unicode
__pyx_t_40 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_40) < 0) __PYX_ERR(0, 1, __pyx_L1_error) __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
0002: # cython: c_string_encoding=utf8
0003:
+0004: import ctypes
__pyx_t_43 = __Pyx_ImportDottedModule(__pyx_n_s_ctypes, NULL); if (unlikely(!__pyx_t_43)) __PYX_ERR(0, 4, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_43); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ctypes, __pyx_t_43) < 0) __PYX_ERR(0, 4, __pyx_L1_error) __Pyx_DECREF(__pyx_t_43); __pyx_t_43 = 0;
+0005: from functools import singledispatch, partial
__pyx_t_43 = PyList_New(2); if (unlikely(!__pyx_t_43)) __PYX_ERR(0, 5, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_43); __Pyx_INCREF(__pyx_n_s_singledispatch); __Pyx_GIVEREF(__pyx_n_s_singledispatch); PyList_SET_ITEM(__pyx_t_43, 0, __pyx_n_s_singledispatch); __Pyx_INCREF(__pyx_n_s_partial); __Pyx_GIVEREF(__pyx_n_s_partial); PyList_SET_ITEM(__pyx_t_43, 1, __pyx_n_s_partial); __pyx_t_41 = __Pyx_Import(__pyx_n_s_functools, __pyx_t_43, 0); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 5, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_43); __pyx_t_43 = 0; __pyx_t_43 = __Pyx_ImportFrom(__pyx_t_41, __pyx_n_s_singledispatch); if (unlikely(!__pyx_t_43)) __PYX_ERR(0, 5, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_43); if (PyDict_SetItem(__pyx_d, __pyx_n_s_singledispatch, __pyx_t_43) < 0) __PYX_ERR(0, 5, __pyx_L1_error) __Pyx_DECREF(__pyx_t_43); __pyx_t_43 = 0; __pyx_t_43 = __Pyx_ImportFrom(__pyx_t_41, __pyx_n_s_partial); if (unlikely(!__pyx_t_43)) __PYX_ERR(0, 5, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_43); if (PyDict_SetItem(__pyx_d, __pyx_n_s_partial, __pyx_t_43) < 0) __PYX_ERR(0, 5, __pyx_L1_error) __Pyx_DECREF(__pyx_t_43); __pyx_t_43 = 0; __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
+0006: import math
__pyx_t_41 = __Pyx_ImportDottedModule(__pyx_n_s_math, NULL); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 6, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (PyDict_SetItem(__pyx_d, __pyx_n_s_math, __pyx_t_41) < 0) __PYX_ERR(0, 6, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
+0007: import random
__pyx_t_41 = __Pyx_ImportDottedModule(__pyx_n_s_random, NULL); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 7, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (PyDict_SetItem(__pyx_d, __pyx_n_s_random, __pyx_t_41) < 0) __PYX_ERR(0, 7, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
+0008: import subprocess
__pyx_t_41 = __Pyx_ImportDottedModule(__pyx_n_s_subprocess, NULL); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 8, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (PyDict_SetItem(__pyx_d, __pyx_n_s_subprocess, __pyx_t_41) < 0) __PYX_ERR(0, 8, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
+0009: import tempfile
__pyx_t_41 = __Pyx_ImportDottedModule(__pyx_n_s_tempfile, NULL); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 9, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (PyDict_SetItem(__pyx_d, __pyx_n_s_tempfile, __pyx_t_41) < 0) __PYX_ERR(0, 9, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
+0010: import time
__pyx_t_41 = __Pyx_ImportDottedModule(__pyx_n_s_time, NULL); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 10, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (PyDict_SetItem(__pyx_d, __pyx_n_s_time, __pyx_t_41) < 0) __PYX_ERR(0, 10, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
+0011: import types
__pyx_t_41 = __Pyx_ImportDottedModule(__pyx_n_s_types, NULL); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 11, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (PyDict_SetItem(__pyx_d, __pyx_n_s_types, __pyx_t_41) < 0) __PYX_ERR(0, 11, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
0012: import cython
0013: from cython.cimports.cpython.mem import PyMem_Malloc, PyMem_Realloc, PyMem_Free
0014: from cython cimport view
+0015: import numpy as np
__pyx_t_41 = __Pyx_ImportDottedModule(__pyx_n_s_numpy, NULL); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 15, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_41) < 0) __PYX_ERR(0, 15, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
0016: cimport numpy as np
+0017: import numpy.typing as npt
__pyx_t_41 = __Pyx_ImportDottedModule(__pyx_n_s_numpy_typing, __pyx_tuple__85); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (PyDict_SetItem(__pyx_d, __pyx_n_s_npt, __pyx_t_41) < 0) __PYX_ERR(0, 17, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; /* … */ __pyx_tuple__85 = PyTuple_Pack(2, __pyx_n_s_numpy, __pyx_n_s_typing); if (unlikely(!__pyx_tuple__85)) __PYX_ERR(0, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85);
0018: cimport pysndlib.cclm as cclm
0019: cimport pysndlib.csndlib as csndlib
+0020: from pysndlib.sndlib import sample, header
__pyx_t_41 = PyList_New(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_INCREF(__pyx_n_s_sample); __Pyx_GIVEREF(__pyx_n_s_sample); PyList_SET_ITEM(__pyx_t_41, 0, __pyx_n_s_sample); __Pyx_INCREF(__pyx_n_s_header); __Pyx_GIVEREF(__pyx_n_s_header); PyList_SET_ITEM(__pyx_t_41, 1, __pyx_n_s_header); __pyx_t_43 = __Pyx_Import(__pyx_n_s_pysndlib_sndlib, __pyx_t_41, 0); if (unlikely(!__pyx_t_43)) __PYX_ERR(0, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_43); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __pyx_t_41 = __Pyx_ImportFrom(__pyx_t_43, __pyx_n_s_sample); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (PyDict_SetItem(__pyx_d, __pyx_n_s_sample, __pyx_t_41) < 0) __PYX_ERR(0, 20, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __pyx_t_41 = __Pyx_ImportFrom(__pyx_t_43, __pyx_n_s_header); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (PyDict_SetItem(__pyx_d, __pyx_n_s_header, __pyx_t_41) < 0) __PYX_ERR(0, 20, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __Pyx_DECREF(__pyx_t_43); __pyx_t_43 = 0;
0021:
+0022: np.import_array()
__pyx_t_44 = __pyx_f_5numpy_import_array(); if (unlikely(__pyx_t_44 == ((int)-1))) __PYX_ERR(0, 22, __pyx_L1_error)
0023:
0024:
0025: # --------------- clm enums ---------------- #
+0026: cpdef enum Interp:
enum __pyx_t_8pysndlib_3clm_Interp {
__pyx_e_8pysndlib_3clm_NONE,
__pyx_e_8pysndlib_3clm_LINEAR,
__pyx_e_8pysndlib_3clm_SINUSOIDAL,
__pyx_e_8pysndlib_3clm_ALL_PASS,
__pyx_e_8pysndlib_3clm_LAGRANGE,
__pyx_e_8pysndlib_3clm_BEZIER,
__pyx_e_8pysndlib_3clm_HERMITE
};
0027: NONE, LINEAR,SINUSOIDAL, ALL_PASS, LAGRANGE, BEZIER, HERMITE
0028:
+0029: cpdef enum Window:
enum __pyx_t_8pysndlib_3clm_Window {
__pyx_e_8pysndlib_3clm_RECTANGULAR,
__pyx_e_8pysndlib_3clm_HANN,
__pyx_e_8pysndlib_3clm_WELCH,
__pyx_e_8pysndlib_3clm_PARZEN,
__pyx_e_8pysndlib_3clm_BARTLETT,
__pyx_e_8pysndlib_3clm_HAMMING,
__pyx_e_8pysndlib_3clm_BLACKMAN2,
__pyx_e_8pysndlib_3clm_BLACKMAN3,
__pyx_e_8pysndlib_3clm_BLACKMAN4,
__pyx_e_8pysndlib_3clm_EXPONENTIAL,
__pyx_e_8pysndlib_3clm_RIEMANN,
__pyx_e_8pysndlib_3clm_KAISER,
__pyx_e_8pysndlib_3clm_CAUCHY,
__pyx_e_8pysndlib_3clm_POISSON,
__pyx_e_8pysndlib_3clm_GAUSSIAN,
__pyx_e_8pysndlib_3clm_TUKEY,
__pyx_e_8pysndlib_3clm_DOLPH_CHEBYSHEV,
__pyx_e_8pysndlib_3clm_HANN_POISSON,
__pyx_e_8pysndlib_3clm_CONNES,
__pyx_e_8pysndlib_3clm_SAMARAKI,
__pyx_e_8pysndlib_3clm_ULTRASPHERICAL,
__pyx_e_8pysndlib_3clm_BARTLETT_HANN,
__pyx_e_8pysndlib_3clm_BOHMAN,
__pyx_e_8pysndlib_3clm_FLAT_TOP,
__pyx_e_8pysndlib_3clm_BLACKMAN5,
__pyx_e_8pysndlib_3clm_BLACKMAN6,
__pyx_e_8pysndlib_3clm_BLACKMAN7,
__pyx_e_8pysndlib_3clm_BLACKMAN8,
__pyx_e_8pysndlib_3clm_BLACKMAN9,
__pyx_e_8pysndlib_3clm_BLACKMAN10,
__pyx_e_8pysndlib_3clm_RV2,
__pyx_e_8pysndlib_3clm_RV3,
__pyx_e_8pysndlib_3clm_RV4,
__pyx_e_8pysndlib_3clm_MLT_SINE,
__pyx_e_8pysndlib_3clm_PAPOULIS,
__pyx_e_8pysndlib_3clm_DPSS,
__pyx_e_8pysndlib_3clm_SINC
};
0030: RECTANGULAR, HANN, WELCH, PARZEN, BARTLETT, HAMMING, BLACKMAN2, BLACKMAN3, BLACKMAN4, EXPONENTIAL, RIEMANN, KAISER, CAUCHY, POISSON, GAUSSIAN, TUKEY, DOLPH_CHEBYSHEV, HANN_POISSON, CONNES, SAMARAKI, ULTRASPHERICAL, BARTLETT_HANN, BOHMAN, FLAT_TOP, BLACKMAN5, BLACKMAN6, BLACKMAN7, BLACKMAN8, BLACKMAN9, BLACKMAN10, RV2, RV3, RV4, MLT_SINE, PAPOULIS, DPSS, SINC,
0031:
+0032: cpdef enum Spectrum:
enum __pyx_t_8pysndlib_3clm_Spectrum {
__pyx_e_8pysndlib_3clm_IN_DB,
__pyx_e_8pysndlib_3clm_NORMALIZED,
__pyx_e_8pysndlib_3clm_RAW
};
0033: IN_DB, NORMALIZED, RAW
0034:
+0035: cpdef enum Polynomial:
enum __pyx_t_8pysndlib_3clm_Polynomial {
__pyx_e_8pysndlib_3clm_EITHER_KIND,
__pyx_e_8pysndlib_3clm_FIRST_KIND,
__pyx_e_8pysndlib_3clm_SECOND_KIND,
__pyx_e_8pysndlib_3clm_BOTH_KINDS
};
0036: EITHER_KIND, FIRST_KIND, SECOND_KIND, BOTH_KINDS
0037:
0038:
0039:
0040: # --------------- function types for ctypes ---------------- #
+0041: INPUTCALLBACK = ctypes.cfunctype(ctypes.c_double, ctypes.c_void_p, ctypes.c_int)
__Pyx_GetModuleGlobalName(__pyx_t_43, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_43)) __PYX_ERR(0, 41, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_43); __pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_43, __pyx_n_s_cfunctype); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 41, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_43); __pyx_t_43 = 0; __Pyx_GetModuleGlobalName(__pyx_t_43, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_43)) __PYX_ERR(0, 41, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_43); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_43, __pyx_n_s_c_double); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 41, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_43); __pyx_t_43 = 0; __Pyx_GetModuleGlobalName(__pyx_t_43, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_43)) __PYX_ERR(0, 41, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_43); __pyx_t_42 = __Pyx_PyObject_GetAttrStr(__pyx_t_43, __pyx_n_s_c_void_p); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 41, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __Pyx_DECREF(__pyx_t_43); __pyx_t_43 = 0; __Pyx_GetModuleGlobalName(__pyx_t_43, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_43)) __PYX_ERR(0, 41, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_43); __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_43, __pyx_n_s_c_int); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 41, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __Pyx_DECREF(__pyx_t_43); __pyx_t_43 = 0; __pyx_t_43 = PyTuple_New(3); if (unlikely(!__pyx_t_43)) __PYX_ERR(0, 41, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_43); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_43, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_42); PyTuple_SET_ITEM(__pyx_t_43, 1, __pyx_t_42); __Pyx_GIVEREF(__pyx_t_40); PyTuple_SET_ITEM(__pyx_t_43, 2, __pyx_t_40); __pyx_t_10 = 0; __pyx_t_42 = 0; __pyx_t_40 = 0; __pyx_t_40 = __Pyx_PyObject_Call(__pyx_t_41, __pyx_t_43, NULL); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 41, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __Pyx_DECREF(__pyx_t_43); __pyx_t_43 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_INPUTCALLBACK, __pyx_t_40) < 0) __PYX_ERR(0, 41, __pyx_L1_error) __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
+0042: EDITCALLBACK = ctypes.cfunctype(ctypes.c_int, ctypes.c_void_p)
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __pyx_t_43 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_cfunctype); if (unlikely(!__pyx_t_43)) __PYX_ERR(0, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_43); __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0; __Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_c_int); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0; __Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __pyx_t_42 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_c_void_p); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0; __pyx_t_40 = PyTuple_New(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __Pyx_GIVEREF(__pyx_t_41); PyTuple_SET_ITEM(__pyx_t_40, 0, __pyx_t_41); __Pyx_GIVEREF(__pyx_t_42); PyTuple_SET_ITEM(__pyx_t_40, 1, __pyx_t_42); __pyx_t_41 = 0; __pyx_t_42 = 0; __pyx_t_42 = __Pyx_PyObject_Call(__pyx_t_43, __pyx_t_40, NULL); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __Pyx_DECREF(__pyx_t_43); __pyx_t_43 = 0; __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_EDITCALLBACK, __pyx_t_42) < 0) __PYX_ERR(0, 42, __pyx_L1_error) __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0;
+0043: ANALYZECALLBACK = ctypes.cfunctype(ctypes.c_bool, ctypes.c_void_p, ctypes.cfunctype(ctypes.c_double, ctypes.c_void_p, ctypes.c_int))
__Pyx_GetModuleGlobalName(__pyx_t_42, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_42, __pyx_n_s_cfunctype); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0; __Pyx_GetModuleGlobalName(__pyx_t_42, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __pyx_t_43 = __Pyx_PyObject_GetAttrStr(__pyx_t_42, __pyx_n_s_c_bool); if (unlikely(!__pyx_t_43)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_43); __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0; __Pyx_GetModuleGlobalName(__pyx_t_42, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_42, __pyx_n_s_c_void_p); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0; __Pyx_GetModuleGlobalName(__pyx_t_42, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_42, __pyx_n_s_cfunctype); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0; __Pyx_GetModuleGlobalName(__pyx_t_42, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_42, __pyx_n_s_c_double); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_39); __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0; __Pyx_GetModuleGlobalName(__pyx_t_42, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __pyx_t_38 = __Pyx_PyObject_GetAttrStr(__pyx_t_42, __pyx_n_s_c_void_p); if (unlikely(!__pyx_t_38)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_38); __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0; __Pyx_GetModuleGlobalName(__pyx_t_42, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_42, __pyx_n_s_c_int); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0; __pyx_t_42 = PyTuple_New(3); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __Pyx_GIVEREF(__pyx_t_39); PyTuple_SET_ITEM(__pyx_t_42, 0, __pyx_t_39); __Pyx_GIVEREF(__pyx_t_38); PyTuple_SET_ITEM(__pyx_t_42, 1, __pyx_t_38); __Pyx_GIVEREF(__pyx_t_37); PyTuple_SET_ITEM(__pyx_t_42, 2, __pyx_t_37); __pyx_t_39 = 0; __pyx_t_38 = 0; __pyx_t_37 = 0; __pyx_t_37 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_42, NULL); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0; __pyx_t_42 = PyTuple_New(3); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __Pyx_GIVEREF(__pyx_t_43); PyTuple_SET_ITEM(__pyx_t_42, 0, __pyx_t_43); __Pyx_GIVEREF(__pyx_t_41); PyTuple_SET_ITEM(__pyx_t_42, 1, __pyx_t_41); __Pyx_GIVEREF(__pyx_t_37); PyTuple_SET_ITEM(__pyx_t_42, 2, __pyx_t_37); __pyx_t_43 = 0; __pyx_t_41 = 0; __pyx_t_37 = 0; __pyx_t_37 = __Pyx_PyObject_Call(__pyx_t_40, __pyx_t_42, NULL); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0; __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANALYZECALLBACK, __pyx_t_37) < 0) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
+0044: SYNTHESIZECALLBACK = ctypes.cfunctype(ctypes.c_double, ctypes.c_void_p)
__Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 44, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __pyx_t_42 = __Pyx_PyObject_GetAttrStr(__pyx_t_37, __pyx_n_s_cfunctype); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 44, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0; __Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 44, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_37, __pyx_n_s_c_double); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 44, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0; __Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 44, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_37, __pyx_n_s_c_void_p); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 44, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0; __pyx_t_37 = PyTuple_New(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 44, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __Pyx_GIVEREF(__pyx_t_40); PyTuple_SET_ITEM(__pyx_t_37, 0, __pyx_t_40); __Pyx_GIVEREF(__pyx_t_41); PyTuple_SET_ITEM(__pyx_t_37, 1, __pyx_t_41); __pyx_t_40 = 0; __pyx_t_41 = 0; __pyx_t_41 = __Pyx_PyObject_Call(__pyx_t_42, __pyx_t_37, NULL); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 44, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0; __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_SYNTHESIZECALLBACK, __pyx_t_41) < 0) __PYX_ERR(0, 44, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
+0045: LOCSIGDETOURCALLBACK = ctypes.cfunctype(None, ctypes.c_void_p, ctypes.c_longlong)
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 45, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_cfunctype); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 45, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 45, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_t_42 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_c_void_p); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 45, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 45, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_c_longlong); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 45, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __pyx_t_41 = PyTuple_New(3); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 45, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyTuple_SET_ITEM(__pyx_t_41, 0, Py_None); __Pyx_GIVEREF(__pyx_t_42); PyTuple_SET_ITEM(__pyx_t_41, 1, __pyx_t_42); __Pyx_GIVEREF(__pyx_t_40); PyTuple_SET_ITEM(__pyx_t_41, 2, __pyx_t_40); __pyx_t_42 = 0; __pyx_t_40 = 0; __pyx_t_40 = __Pyx_PyObject_Call(__pyx_t_37, __pyx_t_41, NULL); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 45, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0; __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_LOCSIGDETOURCALLBACK, __pyx_t_40) < 0) __PYX_ERR(0, 45, __pyx_L1_error) __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
+0046: ENVFUNCTION = ctypes.cfunctype(ctypes.c_double, ctypes.c_double) # for env_any
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 46, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_cfunctype); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 46, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0; __Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 46, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_c_double); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 46, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0; __Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 46, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __pyx_t_42 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_c_double); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 46, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0; __pyx_t_40 = PyTuple_New(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 46, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __Pyx_GIVEREF(__pyx_t_37); PyTuple_SET_ITEM(__pyx_t_40, 0, __pyx_t_37); __Pyx_GIVEREF(__pyx_t_42); PyTuple_SET_ITEM(__pyx_t_40, 1, __pyx_t_42); __pyx_t_37 = 0; __pyx_t_42 = 0; __pyx_t_42 = __Pyx_PyObject_Call(__pyx_t_41, __pyx_t_40, NULL); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 46, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_ENVFUNCTION, __pyx_t_42) < 0) __PYX_ERR(0, 46, __pyx_L1_error) __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0;
0047:
0048: #these may need to be set based on system type etc
+0049: DEFAULT_OUTPUT_SRATE = 44100
if (PyDict_SetItem(__pyx_d, __pyx_n_s_DEFAULT_OUTPUT_SRATE, __pyx_int_44100) < 0) __PYX_ERR(0, 49, __pyx_L1_error)
+0050: DEFAULT_OUTPUT_CHANS = 1
if (PyDict_SetItem(__pyx_d, __pyx_n_s_DEFAULT_OUTPUT_CHANS, __pyx_int_1) < 0) __PYX_ERR(0, 50, __pyx_L1_error)
+0051: DEFAULT_OUTPUT_SAMPLE_TYPE = sample.bfloat
__Pyx_GetModuleGlobalName(__pyx_t_42, __pyx_n_s_sample); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_42, __pyx_n_s_bfloat); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_DEFAULT_OUTPUT_SAMPLE_TYPE, __pyx_t_40) < 0) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
+0052: DEFAULT_OUTPUT_HEADER_TYPE = header.aifc
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_header); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 52, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __pyx_t_42 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_aifc); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 52, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_DEFAULT_OUTPUT_HEADER_TYPE, __pyx_t_42) < 0) __PYX_ERR(0, 52, __pyx_L1_error) __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0;
0053:
0054:
0055:
0056:
0057: # --------------- main clm prefs ---------------- #
0058:
+0059: CLM = types.simplenamespace(
__Pyx_GetModuleGlobalName(__pyx_t_42, __pyx_n_s_types); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_42, __pyx_n_s_simplenamespace); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0; /* … */ __pyx_t_41 = __Pyx_PyObject_Call(__pyx_t_40, __pyx_empty_tuple, __pyx_t_42); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0; __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_CLM, __pyx_t_41) < 0) __PYX_ERR(0, 59, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
+0060: file_name = 'test.aiff',
__pyx_t_42 = __Pyx_PyDict_NewPresized(19); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 60, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); if (PyDict_SetItem(__pyx_t_42, __pyx_n_s_file_name, __pyx_kp_s_test_aiff) < 0) __PYX_ERR(0, 60, __pyx_L1_error)
+0061: srate = DEFAULT_OUTPUT_SRATE,
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_DEFAULT_OUTPUT_SRATE); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 61, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (PyDict_SetItem(__pyx_t_42, __pyx_n_s_srate, __pyx_t_41) < 0) __PYX_ERR(0, 60, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
+0062: channels = DEFAULT_OUTPUT_CHANS,
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_DEFAULT_OUTPUT_CHANS); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 62, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (PyDict_SetItem(__pyx_t_42, __pyx_n_s_channels, __pyx_t_41) < 0) __PYX_ERR(0, 60, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
+0063: sample_type = DEFAULT_OUTPUT_SAMPLE_TYPE,
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_DEFAULT_OUTPUT_SAMPLE_TYPE); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 63, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (PyDict_SetItem(__pyx_t_42, __pyx_n_s_sample_type, __pyx_t_41) < 0) __PYX_ERR(0, 60, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
+0064: header_type = DEFAULT_OUTPUT_HEADER_TYPE,
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_DEFAULT_OUTPUT_HEADER_TYPE); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (PyDict_SetItem(__pyx_t_42, __pyx_n_s_header_type, __pyx_t_41) < 0) __PYX_ERR(0, 60, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
+0065: verbose = False,
if (PyDict_SetItem(__pyx_t_42, __pyx_n_s_verbose, Py_False) < 0) __PYX_ERR(0, 60, __pyx_L1_error)
+0066: play = False,
if (PyDict_SetItem(__pyx_t_42, __pyx_n_s_play, Py_False) < 0) __PYX_ERR(0, 60, __pyx_L1_error)
+0067: statistics = False,
if (PyDict_SetItem(__pyx_t_42, __pyx_n_s_statistics, Py_False) < 0) __PYX_ERR(0, 60, __pyx_L1_error)
+0068: reverb = False,
if (PyDict_SetItem(__pyx_t_42, __pyx_n_s_reverb, Py_False) < 0) __PYX_ERR(0, 60, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_42, __pyx_n_s_reverb_channels, __pyx_int_1) < 0) __PYX_ERR(0, 60, __pyx_L1_error)
0069: reverb_channels = 1,
+0070: reverb_data = None,
if (PyDict_SetItem(__pyx_t_42, __pyx_n_s_reverb_data, Py_None) < 0) __PYX_ERR(0, 60, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_42, __pyx_n_s_reverb_file_name, __pyx_kp_s_test_rev) < 0) __PYX_ERR(0, 60, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_42, __pyx_n_s_table_size, __pyx_int_512) < 0) __PYX_ERR(0, 60, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_42, __pyx_n_s_buffer_size, __pyx_int_65536) < 0) __PYX_ERR(0, 60, __pyx_L1_error)
0071: reverb_file_name = 'test.rev',
0072: table_size = 512,
0073: buffer_size = 65536,
+0074: locsig_type = Interp.LINEAR,
__pyx_t_41 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_LINEAR); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (PyDict_SetItem(__pyx_t_42, __pyx_n_s_locsig_type, __pyx_t_41) < 0) __PYX_ERR(0, 60, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
+0075: clipped = True,
if (PyDict_SetItem(__pyx_t_42, __pyx_n_s_clipped, Py_True) < 0) __PYX_ERR(0, 60, __pyx_L1_error)
+0076: player = False,
if (PyDict_SetItem(__pyx_t_42, __pyx_n_s_player, Py_False) < 0) __PYX_ERR(0, 60, __pyx_L1_error)
+0077: output = False,
if (PyDict_SetItem(__pyx_t_42, __pyx_n_s_output, Py_False) < 0) __PYX_ERR(0, 60, __pyx_L1_error)
+0078: delete_reverb = False
if (PyDict_SetItem(__pyx_t_42, __pyx_n_s_delete_reverb, Py_False) < 0) __PYX_ERR(0, 60, __pyx_L1_error)
0079: )
0080:
0081:
+0082: CLM.player = 'afplay'
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_CLM); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 82, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (__Pyx_PyObject_SetAttrStr(__pyx_t_41, __pyx_n_s_player, __pyx_n_s_afplay) < 0) __PYX_ERR(0, 82, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
0083:
0084:
0085: # --------------- initializations ---------------- #
0086:
+0087: cclm.mus_initialize()
mus_initialize();
+0088: cclm.mus_set_rand_seed(int(time.time()))
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_time); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 88, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_t_42 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_time); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 88, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __pyx_t_41 = __Pyx_PyObject_CallNoArg(__pyx_t_42); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 88, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0; __pyx_t_42 = __Pyx_PyNumber_Int(__pyx_t_41); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 88, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __pyx_t_45 = __Pyx_PyInt_As_uint64_t(__pyx_t_42); if (unlikely((__pyx_t_45 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 88, __pyx_L1_error) __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0; mus_set_rand_seed(__pyx_t_45);
0089:
0090:
+0091: cdef void clm_error_handler(int error_type, char* msg):
static void __pyx_f_8pysndlib_3clm_clm_error_handler(int __pyx_v_error_type, char *__pyx_v_msg) {
PyObject *__pyx_v_message = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("clm_error_handler", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.clm_error_handler", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_XDECREF(__pyx_v_message);
__Pyx_RefNannyFinishContext();
}
+0092: message = msg + ". " + csndlib.mus_error_type_to_string(error_type)
__pyx_t_1 = __Pyx_PyUnicode_FromString(__pyx_v_msg); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 92, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_s__13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 92, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyUnicode_FromString(mus_error_type_to_string(__pyx_v_error_type)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 92, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 92, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_message = __pyx_t_3; __pyx_t_3 = 0;
+0093: raise SNDLibError(message)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_SNDLibError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 93, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_message}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 93, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(0, 93, __pyx_L1_error)
0094:
+0095: class SNDLibError(Exception):
__pyx_t_42 = PyTuple_New(1); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 95, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __Pyx_INCREF((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])); __Pyx_GIVEREF((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])); PyTuple_SET_ITEM(__pyx_t_42, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); __pyx_t_41 = __Pyx_PEP560_update_bases(__pyx_t_42); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 95, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_t_40 = __Pyx_CalculateMetaclass(NULL, __pyx_t_41); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 95, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __pyx_t_37 = __Pyx_Py3MetaclassPrepare(__pyx_t_40, __pyx_t_41, __pyx_n_s_SNDLibError, __pyx_n_s_SNDLibError, (PyObject *) NULL, __pyx_n_s_pysndlib_clm, __pyx_kp_s_this_is_general_class_to_raise); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 95, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); if (__pyx_t_41 != __pyx_t_42) { if (unlikely((PyDict_SetItemString(__pyx_t_37, "__orig_bases__", __pyx_t_42) < 0))) __PYX_ERR(0, 95, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0; __pyx_t_42 = PyList_New(0); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 95, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); /* … */ __pyx_t_43 = __Pyx_Py3ClassCreate(__pyx_t_40, __pyx_n_s_SNDLibError, __pyx_t_41, __pyx_t_37, NULL, 0, 0); if (unlikely(!__pyx_t_43)) __PYX_ERR(0, 95, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_43); if (__Pyx_CyFunction_InitClassCell(__pyx_t_42, __pyx_t_43) < 0) __PYX_ERR(0, 95, __pyx_L1_error) __Pyx_DECREF(__pyx_t_42); __pyx_t_42 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_SNDLibError, __pyx_t_43) < 0) __PYX_ERR(0, 95, __pyx_L1_error) __Pyx_DECREF(__pyx_t_43); __pyx_t_43 = 0; __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0; __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0; __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
0096: """
0097: this is general class to raise an print errors as defined in sndlib. it is to be used internally by the defined error handler registered with sndlib
0098:
0099: :meta private:
0100: """
0101:
+0102: def ___init___(self, message):
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_11SNDLibError_1___init___(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_11SNDLibError_1___init___ = {"___init___", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_11SNDLibError_1___init___, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_11SNDLibError_1___init___(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_self = 0;
CYTHON_UNUSED PyObject *__pyx_v_message = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("___init___ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_message,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 102, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_message)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 102, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("___init___", 1, 2, 2, 1); __PYX_ERR(0, 102, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "___init___") < 0)) __PYX_ERR(0, 102, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_self = values[0];
__pyx_v_message = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("___init___", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 102, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.SNDLibError.___init___", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_11SNDLibError____init___(__pyx_self, __pyx_v_self, __pyx_v_message);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_11SNDLibError____init___(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_message) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("___init___", 0);
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.SNDLibError.___init___", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__86 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_message); if (unlikely(!__pyx_tuple__86)) __PYX_ERR(0, 102, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__86);
__Pyx_GIVEREF(__pyx_tuple__86);
/* … */
__pyx_t_43 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_11SNDLibError_1___init___, 0, __pyx_n_s_SNDLibError____init, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__87)); if (unlikely(!__pyx_t_43)) __PYX_ERR(0, 102, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_43);
__Pyx_INCREF(__pyx_t_43);
PyList_Append(__pyx_t_42, __pyx_t_43);
__Pyx_GIVEREF(__pyx_t_43);
if (__Pyx_SetNameInClass(__pyx_t_37, __pyx_n_s_init_2, __pyx_t_43) < 0) __PYX_ERR(0, 102, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_43); __pyx_t_43 = 0;
__pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_init_2, 102, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) __PYX_ERR(0, 102, __pyx_L1_error)
+0103: super().__init__(self.message)
__pyx_t_2 = __Pyx_CyFunction_GetClassObj(__pyx_self); if (!__pyx_t_2) { PyErr_SetString(PyExc_SystemError, "super(): empty __class__ cell"); __PYX_ERR(0, 103, __pyx_L1_error) } __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_message); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0104:
0105:
0106:
+0107: def check_ndim(arr: npt.NDArray[np.float64], dim=1):
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_1check_ndim(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_1check_ndim = {"check_ndim", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_1check_ndim, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_1check_ndim(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_arr = 0;
PyObject *__pyx_v_dim = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("check_ndim (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_arr,&__pyx_n_s_dim,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)((PyObject *)__pyx_int_1));
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_arr)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 107, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dim);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 107, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "check_ndim") < 0)) __PYX_ERR(0, 107, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_arr = values[0];
__pyx_v_dim = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("check_ndim", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 107, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.check_ndim", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_check_ndim(__pyx_self, __pyx_v_arr, __pyx_v_dim);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_check_ndim(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_dim) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("check_ndim", 0);
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("pysndlib.clm.check_ndim", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__88 = PyTuple_Pack(2, __pyx_n_s_arr, __pyx_n_s_dim); if (unlikely(!__pyx_tuple__88)) __PYX_ERR(0, 107, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__88);
__Pyx_GIVEREF(__pyx_tuple__88);
__pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_check_ndim, 107, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) __PYX_ERR(0, 107, __pyx_L1_error)
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 107, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_arr, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 107, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_1check_ndim, 0, __pyx_n_s_check_ndim, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__89)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 107, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_tuple__90);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_check_ndim, __pyx_t_40) < 0) __PYX_ERR(0, 107, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_tuple__90 = PyTuple_Pack(1, ((PyObject *)__pyx_int_1)); if (unlikely(!__pyx_tuple__90)) __PYX_ERR(0, 107, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__90);
__Pyx_GIVEREF(__pyx_tuple__90);
+0108: if arr.dim == 1:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_arr, __pyx_n_s_dim); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_1, __pyx_int_1, 1, 0)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 108, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(__pyx_t_2)) { /* … */ }
+0109: raise TypeError(f'expecting {dim} dimemsions but received {arr.dim}.')
__pyx_t_1 = PyTuple_New(5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = 0; __pyx_t_4 = 127; __Pyx_INCREF(__pyx_kp_u_expecting); __pyx_t_3 += 10; __Pyx_GIVEREF(__pyx_kp_u_expecting); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_u_expecting); __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_v_dim, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_4) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_4; __pyx_t_3 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_5); __pyx_t_5 = 0; __Pyx_INCREF(__pyx_kp_u_dimemsions_but_received); __pyx_t_3 += 25; __Pyx_GIVEREF(__pyx_kp_u_dimemsions_but_received); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_kp_u_dimemsions_but_received); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_arr, __pyx_n_s_dim); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_4 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_4) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_4; __pyx_t_3 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_t_6); __pyx_t_6 = 0; __Pyx_INCREF(__pyx_kp_u__3); __pyx_t_3 += 1; __Pyx_GIVEREF(__pyx_kp_u__3); PyTuple_SET_ITEM(__pyx_t_1, 4, __pyx_kp_u__3); __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_1, 5, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(0, 109, __pyx_L1_error)
0110:
+0111: def compare_shapes(arr1: npt.NDArray[np.float64], arr2: npt.NDArray[np.float64]):
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_3compare_shapes(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_3compare_shapes = {"compare_shapes", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_3compare_shapes, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_3compare_shapes(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_arr1 = 0;
PyObject *__pyx_v_arr2 = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("compare_shapes (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_arr1,&__pyx_n_s_arr2,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_arr1)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 111, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_arr2)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 111, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("compare_shapes", 1, 2, 2, 1); __PYX_ERR(0, 111, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "compare_shapes") < 0)) __PYX_ERR(0, 111, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_arr1 = values[0];
__pyx_v_arr2 = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("compare_shapes", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 111, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.compare_shapes", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_2compare_shapes(__pyx_self, __pyx_v_arr1, __pyx_v_arr2);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_2compare_shapes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr1, PyObject *__pyx_v_arr2) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("compare_shapes", 0);
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.compare_shapes", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__91 = PyTuple_Pack(2, __pyx_n_s_arr1, __pyx_n_s_arr2); if (unlikely(!__pyx_tuple__91)) __PYX_ERR(0, 111, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__91);
__Pyx_GIVEREF(__pyx_tuple__91);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 111, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_arr1, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 111, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_arr2, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 111, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_3compare_shapes, 0, __pyx_n_s_compare_shapes, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__92)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 111, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_compare_shapes, __pyx_t_41) < 0) __PYX_ERR(0, 111, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_compare_shapes, 111, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) __PYX_ERR(0, 111, __pyx_L1_error)
+0112: if arr1.shape != arr2.shape:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_arr1, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_arr2, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 112, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 112, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(__pyx_t_4)) { /* … */ }
+0113: raise RuntimeError(f'ndarrays of unequal shape {arr1.shape } vs. {arr2.shape }.')
__pyx_t_3 = PyTuple_New(5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = 0; __pyx_t_6 = 127; __Pyx_INCREF(__pyx_kp_u_ndarrays_of_unequal_shape); __pyx_t_5 += 26; __Pyx_GIVEREF(__pyx_kp_u_ndarrays_of_unequal_shape); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_u_ndarrays_of_unequal_shape); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_arr1, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_6 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_6) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_6; __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1); __pyx_t_1 = 0; __Pyx_INCREF(__pyx_kp_u_vs); __pyx_t_5 += 5; __Pyx_GIVEREF(__pyx_kp_u_vs); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_u_vs); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_arr2, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) > __pyx_t_6) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) : __pyx_t_6; __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_t_2); __pyx_t_2 = 0; __Pyx_INCREF(__pyx_kp_u__3); __pyx_t_5 += 1; __Pyx_GIVEREF(__pyx_kp_u__3); PyTuple_SET_ITEM(__pyx_t_3, 4, __pyx_kp_u__3); __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_3, 5, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(0, 113, __pyx_L1_error)
0114:
+0115: csndlib.mus_error_set_handler(<csndlib.mus_error_handler_t *>clm_error_handler)
(void)(mus_error_set_handler(((mus_error_handler_t *)__pyx_f_8pysndlib_3clm_clm_error_handler)));
0116:
0117: # todo add mus_set_xcoeff and mus_set_ycoeff
0118:
0119: # --------------- extension types ---------------- #
0120:
+0121: cdef class mus_any:
struct __pyx_obj_8pysndlib_3clm_mus_any {
PyObject_HEAD
struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *__pyx_vtab;
mus_any *_ptr;
int ptr_owner;
input_cb _inputcallback;
edit_cb _editcallback;
analyze_cb _analyzecallback;
synthesize_cb _synthesizecallback;
PyObject *_cache;
mus_float_t *_data_ptr;
PyArrayObject *_data;
mus_float_t *_xcoeffs_ptr;
PyArrayObject *_xcoeffs;
mus_float_t *_ycoeffs_ptr;
PyArrayObject *_ycoeffs;
mus_float_t *_pv_amp_increments_ptr;
PyArrayObject *_pv_amp_increments;
mus_float_t *_pv_amps_ptr;
PyArrayObject *_pv_amps;
mus_float_t *_pv_freqs_ptr;
PyArrayObject *_pv_freqs;
mus_float_t *_pv_phases_ptr;
PyArrayObject *_pv_phases;
mus_float_t *_pv_phase_increments_ptr;
PyArrayObject *_pv_phase_increments;
};
/* … */
struct __pyx_vtabstruct_8pysndlib_3clm_mus_any {
struct __pyx_obj_8pysndlib_3clm_mus_any *(*from_ptr)(mus_any *, struct __pyx_opt_args_8pysndlib_3clm_7mus_any_from_ptr *__pyx_optional_args);
PyObject *(*cache_append)(struct __pyx_obj_8pysndlib_3clm_mus_any *, PyObject *, int __pyx_skip_dispatch);
PyObject *(*cache_extend)(struct __pyx_obj_8pysndlib_3clm_mus_any *, PyObject *, int __pyx_skip_dispatch);
PyObject *(*set_up_data)(struct __pyx_obj_8pysndlib_3clm_mus_any *, int __pyx_skip_dispatch);
PyObject *(*set_up_xcoeffs)(struct __pyx_obj_8pysndlib_3clm_mus_any *, int __pyx_skip_dispatch);
PyObject *(*set_up_ycoeffs)(struct __pyx_obj_8pysndlib_3clm_mus_any *, int __pyx_skip_dispatch);
PyObject *(*set_up_pv_data)(struct __pyx_obj_8pysndlib_3clm_mus_any *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *__pyx_vtabptr_8pysndlib_3clm_mus_any;
0122: """
0123: a wrapper class for mus_any pointers in c
0124:
0125: instances of this class have the following properties, which may be
0126: used if supported by the type of generator used to make the instance:
0127:
0128:
0129: """
0130:
0131: cdef cclm.mus_any *_ptr
0132: cdef bint ptr_owner
0133: cdef cclm.input_cb _inputcallback
0134: cdef cclm.edit_cb _editcallback
0135: cdef cclm.analyze_cb _analyzecallback
0136: cdef cclm.synthesize_cb _synthesizecallback
0137: cdef list _cache
0138: cdef cclm.mus_float_t* _data_ptr
0139: cdef np.ndarray _data
0140: cdef cclm.mus_float_t* _xcoeffs_ptr
0141: cdef np.ndarray _xcoeffs
0142: cdef cclm.mus_float_t* _ycoeffs_ptr
0143: cdef np.ndarray _ycoeffs
0144: cdef cclm.mus_float_t* _pv_amp_increments_ptr
0145: cdef np.ndarray _pv_amp_increments
0146: cdef cclm.mus_float_t* _pv_amps_ptr
0147: cdef np.ndarray _pv_amps
0148: cdef cclm.mus_float_t* _pv_freqs_ptr
0149: cdef np.ndarray _pv_freqs
0150: cdef cclm.mus_float_t* _pv_phases_ptr
0151: cdef np.ndarray _pv_phases
0152: cdef cclm.mus_float_t* _pv_phase_increments_ptr
0153: cdef np.ndarray _pv_phase_increments
0154:
+0155: def __cinit__(self):
/* Python wrapper */
static int __pyx_pw_8pysndlib_3clm_7mus_any_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_8pysndlib_3clm_7mus_any_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any___cinit__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static int __pyx_pf_8pysndlib_3clm_7mus_any___cinit__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__cinit__", 0);
/* … */
/* function exit code */
__pyx_r = 0;
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
+0156: self.ptr_owner = False
__pyx_v_self->ptr_owner = 0;
+0157: self._cache = []
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->_cache); __Pyx_DECREF(__pyx_v_self->_cache); __pyx_v_self->_cache = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+0158: self._inputcallback = NULL
__pyx_v_self->_inputcallback = NULL;
+0159: self._editcallback = NULL
__pyx_v_self->_editcallback = NULL;
+0160: self._analyzecallback = NULL
__pyx_v_self->_analyzecallback = NULL;
+0161: self._synthesizecallback = NULL
__pyx_v_self->_synthesizecallback = NULL;
+0162: self._cache = []
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->_cache); __Pyx_DECREF(__pyx_v_self->_cache); __pyx_v_self->_cache = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
0163:
0164:
+0165: def __delalloc__(self):
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_3__delalloc__(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_7mus_any_3__delalloc__ = {"__delalloc__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_7mus_any_3__delalloc__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_3__delalloc__(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__delalloc__ (wrapper)", 0);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__delalloc__", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__delalloc__", 0))) return NULL;
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_2__delalloc__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_2__delalloc__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__delalloc__", 0);
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_7mus_any_3__delalloc__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_mus_any___delalloc, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__93)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 165, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem((PyObject *)__pyx_ptype_8pysndlib_3clm_mus_any->tp_dict, __pyx_n_s_delalloc, __pyx_t_41) < 0) __PYX_ERR(0, 165, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
PyType_Modified(__pyx_ptype_8pysndlib_3clm_mus_any);
/* … */
__pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_delalloc, 165, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) __PYX_ERR(0, 165, __pyx_L1_error)
+0166: if self._ptr is not NULL and self.ptr_owner is True:
__pyx_t_2 = (__pyx_v_self->_ptr != NULL);
if (__pyx_t_2) {
} else {
__pyx_t_1 = __pyx_t_2;
goto __pyx_L4_bool_binop_done;
}
__pyx_t_2 = (__pyx_v_self->ptr_owner == 1);
__pyx_t_1 = __pyx_t_2;
__pyx_L4_bool_binop_done:;
if (__pyx_t_1) {
/* … */
}
+0167: cclm.mus_free(self._ptr)
mus_free(__pyx_v_self->_ptr);
+0168: self._ptr = NULL
__pyx_v_self->_ptr = NULL;
0169:
+0170: def __init__(self):
/* Python wrapper */
static int __pyx_pw_8pysndlib_3clm_7mus_any_5__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_8pysndlib_3clm_7mus_any_5__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, __pyx_nargs); return -1;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 0))) return -1;
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_4__init__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static int __pyx_pf_8pysndlib_3clm_7mus_any_4__init__(CYTHON_UNUSED struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__init__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0171: # prevent accidental instantiation from normal python code
0172: # since we cannot pass a struct pointer into a python constructor.
+0173: raise TypeError("this class cannot be instantiated directly.")
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(0, 173, __pyx_L1_error) /* … */ __pyx_tuple__14 = PyTuple_Pack(1, __pyx_kp_s_this_class_cannot_be_instantiate); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(0, 173, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__14); __Pyx_GIVEREF(__pyx_tuple__14);
0174:
0175: @staticmethod
+0176: cdef mus_any from_ptr(cclm.mus_any *_ptr, bint owner=True):
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_7mus_any_from_ptr(mus_any *__pyx_v__ptr, struct __pyx_opt_args_8pysndlib_3clm_7mus_any_from_ptr *__pyx_optional_args) {
int __pyx_v_owner = ((int)1);
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_wrapper = 0;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("from_ptr", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_owner = __pyx_optional_args->owner;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.from_ptr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF((PyObject *)__pyx_v_wrapper);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
struct __pyx_opt_args_8pysndlib_3clm_7mus_any_from_ptr {
int __pyx_n;
int owner;
};
0177: """
0178: factory function to create mus_any objects from
0179: given mus_any pointer.
0180:
0181: setting ``owner`` flag to ``True`` causes
0182: the extension type to ``free`` the structure pointed to by ``_ptr``
0183: when the wrapper object is deallocated.
0184:
0185: :meta private:
0186: """
0187: # fast call to __new__() that bypasses the __init__() constructor.
+0188: cdef mus_any wrapper = mus_any.__new__(mus_any)
__pyx_t_1 = ((PyObject *)__pyx_tp_new_8pysndlib_3clm_mus_any(((PyTypeObject *)__pyx_ptype_8pysndlib_3clm_mus_any), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 188, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_1); __pyx_v_wrapper = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_1); __pyx_t_1 = 0;
+0189: wrapper._ptr = _ptr
__pyx_v_wrapper->_ptr = __pyx_v__ptr;
+0190: wrapper.ptr_owner = owner
__pyx_v_wrapper->ptr_owner = __pyx_v_owner;
+0191: if cclm.mus_data_exists(wrapper._ptr):
__pyx_t_2 = mus_data_exists(__pyx_v_wrapper->_ptr);
if (__pyx_t_2) {
/* … */
}
+0192: wrapper.set_up_data()
__pyx_t_1 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_wrapper->__pyx_vtab)->set_up_data(__pyx_v_wrapper, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0193: if cclm.mus_xcoeffs_exists(wrapper._ptr):
__pyx_t_2 = mus_xcoeffs_exists(__pyx_v_wrapper->_ptr);
if (__pyx_t_2) {
/* … */
}
+0194: wrapper.set_up_xcoeffs()
__pyx_t_1 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_wrapper->__pyx_vtab)->set_up_xcoeffs(__pyx_v_wrapper, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0195: if cclm.mus_ycoeffs_exists(wrapper._ptr):
__pyx_t_2 = mus_ycoeffs_exists(__pyx_v_wrapper->_ptr);
if (__pyx_t_2) {
/* … */
}
+0196: wrapper.set_up_ycoeffs()
__pyx_t_1 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_wrapper->__pyx_vtab)->set_up_ycoeffs(__pyx_v_wrapper, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 196, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0197:
+0198: if is_phase_vocoder(wrapper):
__pyx_t_2 = __pyx_f_8pysndlib_3clm_is_phase_vocoder(__pyx_v_wrapper, 0); if (unlikely(__pyx_t_2 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 198, __pyx_L1_error) if (__pyx_t_2) { /* … */ }
+0199: wrapper.set_up_pv_data()
__pyx_t_1 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_wrapper->__pyx_vtab)->set_up_pv_data(__pyx_v_wrapper, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0200:
+0201: return wrapper
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_wrapper); __pyx_r = __pyx_v_wrapper; goto __pyx_L0;
0202:
+0203: cpdef cache_append(self, obj):
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_7cache_append(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_7mus_any_cache_append(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_skip_dispatch) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("cache_append", 0);
/* Check if called by wrapper */
if (unlikely(__pyx_skip_dispatch)) ;
/* Check if overridden in Python */
else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_cache_append); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#ifdef __Pyx_CyFunction_USED
if (!__Pyx_IsCyOrPyCFunction(__pyx_t_1)
#else
if (!PyCFunction_Check(__pyx_t_1)
#endif
|| (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_8pysndlib_3clm_7mus_any_7cache_append)) {
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_t_1);
__pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
__pyx_t_5 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_5 = 1;
}
}
{
PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_obj};
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 203, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
goto __pyx_L0;
}
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
__pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
__pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
__pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
}
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
}
#endif
}
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.mus_any.cache_append", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_7cache_append(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_7mus_any_6cache_append, "\n :meta private:\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_7mus_any_7cache_append = {"cache_append", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_7mus_any_7cache_append, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_7mus_any_6cache_append};
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_7cache_append(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_obj = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("cache_append (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_obj,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_obj)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 203, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cache_append") < 0)) __PYX_ERR(0, 203, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_obj = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("cache_append", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 203, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.mus_any.cache_append", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_6cache_append(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self), __pyx_v_obj);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_6cache_append(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self, PyObject *__pyx_v_obj) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("cache_append", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_7mus_any_cache_append(__pyx_v_self, __pyx_v_obj, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.cache_append", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__94 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__94)) __PYX_ERR(0, 203, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__94);
__Pyx_GIVEREF(__pyx_tuple__94);
/* … */
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_7mus_any_7cache_append, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_mus_any_cache_append, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__95)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 203, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem((PyObject *)__pyx_ptype_8pysndlib_3clm_mus_any->tp_dict, __pyx_n_s_cache_append, __pyx_t_41) < 0) __PYX_ERR(0, 203, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
PyType_Modified(__pyx_ptype_8pysndlib_3clm_mus_any);
__pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_cache_append, 203, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) __PYX_ERR(0, 203, __pyx_L1_error)
0204: """
0205: :meta private:
0206: """
+0207: self._cache.append(obj)
if (unlikely(__pyx_v_self->_cache == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
__PYX_ERR(0, 207, __pyx_L1_error)
}
__pyx_t_6 = __Pyx_PyList_Append(__pyx_v_self->_cache, __pyx_v_obj); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 207, __pyx_L1_error)
0208:
+0209: cpdef cache_extend(self, obj):
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_9cache_extend(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_7mus_any_cache_extend(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_skip_dispatch) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("cache_extend", 0);
/* Check if called by wrapper */
if (unlikely(__pyx_skip_dispatch)) ;
/* Check if overridden in Python */
else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_cache_extend); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 209, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#ifdef __Pyx_CyFunction_USED
if (!__Pyx_IsCyOrPyCFunction(__pyx_t_1)
#else
if (!PyCFunction_Check(__pyx_t_1)
#endif
|| (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_8pysndlib_3clm_7mus_any_9cache_extend)) {
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_t_1);
__pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
__pyx_t_5 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_5 = 1;
}
}
{
PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_obj};
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 209, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
goto __pyx_L0;
}
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
__pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
__pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
__pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
}
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
}
#endif
}
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.mus_any.cache_extend", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_9cache_extend(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_7mus_any_8cache_extend, "\n :meta private:\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_7mus_any_9cache_extend = {"cache_extend", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_7mus_any_9cache_extend, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_7mus_any_8cache_extend};
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_9cache_extend(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_obj = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("cache_extend (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_obj,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_obj)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 209, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cache_extend") < 0)) __PYX_ERR(0, 209, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_obj = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("cache_extend", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 209, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.mus_any.cache_extend", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_8cache_extend(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self), __pyx_v_obj);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_8cache_extend(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self, PyObject *__pyx_v_obj) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("cache_extend", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_7mus_any_cache_extend(__pyx_v_self, __pyx_v_obj, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 209, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.cache_extend", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_7mus_any_9cache_extend, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_mus_any_cache_extend, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__96)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 209, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem((PyObject *)__pyx_ptype_8pysndlib_3clm_mus_any->tp_dict, __pyx_n_s_cache_extend, __pyx_t_41) < 0) __PYX_ERR(0, 209, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
PyType_Modified(__pyx_ptype_8pysndlib_3clm_mus_any);
/* … */
__pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_cache_extend, 209, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) __PYX_ERR(0, 209, __pyx_L1_error)
0210: """
0211: :meta private:
0212: """
+0213: self._cache.extend(obj)
if (unlikely(__pyx_v_self->_cache == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "extend");
__PYX_ERR(0, 213, __pyx_L1_error)
}
__pyx_t_6 = __Pyx_PyList_Extend(__pyx_v_self->_cache, __pyx_v_obj); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 213, __pyx_L1_error)
0214:
0215: # this stuff with view.array is to work around an apparent bug when automatic string handling is turned on
0216: # https://github.com/cython/cython/issues/4521
+0217: cpdef set_up_data(self):
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_11set_up_data(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_7mus_any_set_up_data(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self, int __pyx_skip_dispatch) {
mus_long_t __pyx_v_size;
struct __pyx_array_obj *__pyx_v_arr = 0;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_up_data", 0);
/* Check if called by wrapper */
if (unlikely(__pyx_skip_dispatch)) ;
/* Check if overridden in Python */
else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_up_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 217, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#ifdef __Pyx_CyFunction_USED
if (!__Pyx_IsCyOrPyCFunction(__pyx_t_1)
#else
if (!PyCFunction_Check(__pyx_t_1)
#endif
|| (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_8pysndlib_3clm_7mus_any_11set_up_data)) {
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_t_1);
__pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
__pyx_t_5 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_5 = 1;
}
}
{
PyObject *__pyx_callargs[1] = {__pyx_t_4, };
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 217, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
goto __pyx_L0;
}
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
__pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
__pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
__pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
}
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
}
#endif
}
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.mus_any.set_up_data", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF((PyObject *)__pyx_v_arr);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_11set_up_data(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_7mus_any_10set_up_data, "\n :meta private:\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_7mus_any_11set_up_data = {"set_up_data", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_7mus_any_11set_up_data, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_7mus_any_10set_up_data};
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_11set_up_data(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_up_data (wrapper)", 0);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("set_up_data", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "set_up_data", 0))) return NULL;
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_10set_up_data(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_10set_up_data(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_up_data", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_7mus_any_set_up_data(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 217, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.set_up_data", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_7mus_any_11set_up_data, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_mus_any_set_up_data, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__97)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 217, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem((PyObject *)__pyx_ptype_8pysndlib_3clm_mus_any->tp_dict, __pyx_n_s_set_up_data, __pyx_t_41) < 0) __PYX_ERR(0, 217, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
PyType_Modified(__pyx_ptype_8pysndlib_3clm_mus_any);
/* … */
__pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_set_up_data, 217, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) __PYX_ERR(0, 217, __pyx_L1_error)
0218: """
0219: :meta private:
0220: """
+0221: cdef cclm.mus_long_t size = cclm.mus_length(self._ptr)
__pyx_v_size = mus_length(__pyx_v_self->_ptr);
+0222: self._data_ptr = cclm.mus_data(self._ptr)
__pyx_v_self->_data_ptr = mus_data(__pyx_v_self->_ptr);
+0223: cdef view.array arr = view.array(shape=(size,),itemsize=sizeof(double), format='d', allocate_buffer=True)
__pyx_t_1 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_From_mus_long_t(__pyx_v_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __pyx_t_2 = 0; if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_shape, __pyx_t_3) < 0) __PYX_ERR(0, 223, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(double))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_itemsize, __pyx_t_3) < 0) __PYX_ERR(0, 223, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_format, __pyx_n_s_d) < 0) __PYX_ERR(0, 223, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_allocate_buffer, Py_True) < 0) __PYX_ERR(0, 223, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_array_type), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_arr = ((struct __pyx_array_obj *)__pyx_t_3); __pyx_t_3 = 0;
+0224: arr.data = <char*>self._data_ptr
__pyx_v_arr->data = ((char *)__pyx_v_self->_data_ptr);
+0225: self._data = np.asarray(arr)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_asarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_1, ((PyObject *)__pyx_v_arr)}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 225, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_3); __Pyx_GOTREF((PyObject *)__pyx_v_self->_data); __Pyx_DECREF((PyObject *)__pyx_v_self->_data); __pyx_v_self->_data = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0;
0226:
+0227: cpdef set_up_xcoeffs(self):
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_13set_up_xcoeffs(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_7mus_any_set_up_xcoeffs(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self, int __pyx_skip_dispatch) {
mus_long_t __pyx_v_size;
struct __pyx_array_obj *__pyx_v_arr = 0;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_up_xcoeffs", 0);
/* Check if called by wrapper */
if (unlikely(__pyx_skip_dispatch)) ;
/* Check if overridden in Python */
else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_up_xcoeffs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 227, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#ifdef __Pyx_CyFunction_USED
if (!__Pyx_IsCyOrPyCFunction(__pyx_t_1)
#else
if (!PyCFunction_Check(__pyx_t_1)
#endif
|| (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_8pysndlib_3clm_7mus_any_13set_up_xcoeffs)) {
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_t_1);
__pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
__pyx_t_5 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_5 = 1;
}
}
{
PyObject *__pyx_callargs[1] = {__pyx_t_4, };
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 227, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
goto __pyx_L0;
}
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
__pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
__pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
__pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
}
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
}
#endif
}
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.mus_any.set_up_xcoeffs", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF((PyObject *)__pyx_v_arr);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_13set_up_xcoeffs(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_7mus_any_12set_up_xcoeffs, "\n :meta private:\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_7mus_any_13set_up_xcoeffs = {"set_up_xcoeffs", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_7mus_any_13set_up_xcoeffs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_7mus_any_12set_up_xcoeffs};
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_13set_up_xcoeffs(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_up_xcoeffs (wrapper)", 0);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("set_up_xcoeffs", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "set_up_xcoeffs", 0))) return NULL;
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_12set_up_xcoeffs(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_12set_up_xcoeffs(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_up_xcoeffs", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_7mus_any_set_up_xcoeffs(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 227, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.set_up_xcoeffs", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_7mus_any_13set_up_xcoeffs, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_mus_any_set_up_xcoeffs, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__98)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 227, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem((PyObject *)__pyx_ptype_8pysndlib_3clm_mus_any->tp_dict, __pyx_n_s_set_up_xcoeffs, __pyx_t_41) < 0) __PYX_ERR(0, 227, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
PyType_Modified(__pyx_ptype_8pysndlib_3clm_mus_any);
/* … */
__pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_set_up_xcoeffs, 227, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) __PYX_ERR(0, 227, __pyx_L1_error)
0228: """
0229: :meta private:
0230: """
+0231: cdef cclm.mus_long_t size = cclm.mus_length(self._ptr)
__pyx_v_size = mus_length(__pyx_v_self->_ptr);
+0232: self._xcoeffs_ptr = cclm.mus_xcoeffs(self._ptr)
__pyx_v_self->_xcoeffs_ptr = mus_xcoeffs(__pyx_v_self->_ptr);
+0233: cdef view.array arr = view.array(shape=(size,),itemsize=sizeof(double), format='d', allocate_buffer=True)
__pyx_t_1 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_From_mus_long_t(__pyx_v_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __pyx_t_2 = 0; if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_shape, __pyx_t_3) < 0) __PYX_ERR(0, 233, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(double))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_itemsize, __pyx_t_3) < 0) __PYX_ERR(0, 233, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_format, __pyx_n_s_d) < 0) __PYX_ERR(0, 233, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_allocate_buffer, Py_True) < 0) __PYX_ERR(0, 233, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_array_type), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_arr = ((struct __pyx_array_obj *)__pyx_t_3); __pyx_t_3 = 0;
+0234: arr.data = <char*>self._xcoeffs_ptr
__pyx_v_arr->data = ((char *)__pyx_v_self->_xcoeffs_ptr);
+0235: self._xcoeffs = np.asarray(arr)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_asarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_1, ((PyObject *)__pyx_v_arr)}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 235, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_3); __Pyx_GOTREF((PyObject *)__pyx_v_self->_xcoeffs); __Pyx_DECREF((PyObject *)__pyx_v_self->_xcoeffs); __pyx_v_self->_xcoeffs = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0;
0236:
+0237: cpdef set_up_ycoeffs(self):
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_15set_up_ycoeffs(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_7mus_any_set_up_ycoeffs(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self, int __pyx_skip_dispatch) {
mus_long_t __pyx_v_size;
struct __pyx_array_obj *__pyx_v_arr = 0;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_up_ycoeffs", 0);
/* Check if called by wrapper */
if (unlikely(__pyx_skip_dispatch)) ;
/* Check if overridden in Python */
else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_up_ycoeffs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 237, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#ifdef __Pyx_CyFunction_USED
if (!__Pyx_IsCyOrPyCFunction(__pyx_t_1)
#else
if (!PyCFunction_Check(__pyx_t_1)
#endif
|| (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_8pysndlib_3clm_7mus_any_15set_up_ycoeffs)) {
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_t_1);
__pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
__pyx_t_5 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_5 = 1;
}
}
{
PyObject *__pyx_callargs[1] = {__pyx_t_4, };
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 237, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
goto __pyx_L0;
}
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
__pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
__pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
__pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
}
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
}
#endif
}
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.mus_any.set_up_ycoeffs", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF((PyObject *)__pyx_v_arr);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_15set_up_ycoeffs(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_7mus_any_14set_up_ycoeffs, "\n :meta private:\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_7mus_any_15set_up_ycoeffs = {"set_up_ycoeffs", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_7mus_any_15set_up_ycoeffs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_7mus_any_14set_up_ycoeffs};
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_15set_up_ycoeffs(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_up_ycoeffs (wrapper)", 0);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("set_up_ycoeffs", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "set_up_ycoeffs", 0))) return NULL;
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_14set_up_ycoeffs(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_14set_up_ycoeffs(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_up_ycoeffs", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_7mus_any_set_up_ycoeffs(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 237, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.set_up_ycoeffs", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_7mus_any_15set_up_ycoeffs, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_mus_any_set_up_ycoeffs, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__99)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 237, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem((PyObject *)__pyx_ptype_8pysndlib_3clm_mus_any->tp_dict, __pyx_n_s_set_up_ycoeffs, __pyx_t_41) < 0) __PYX_ERR(0, 237, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
PyType_Modified(__pyx_ptype_8pysndlib_3clm_mus_any);
/* … */
__pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_set_up_ycoeffs, 237, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) __PYX_ERR(0, 237, __pyx_L1_error)
0238: """
0239: :meta private:
0240: """
+0241: cdef cclm.mus_long_t size = cclm.mus_length(self._ptr)
__pyx_v_size = mus_length(__pyx_v_self->_ptr);
+0242: self._ycoeffs_ptr = cclm.mus_ycoeffs(self._ptr)
__pyx_v_self->_ycoeffs_ptr = mus_ycoeffs(__pyx_v_self->_ptr);
+0243: cdef view.array arr = view.array(shape=(size,),itemsize=sizeof(double), format='d', allocate_buffer=True)
__pyx_t_1 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_From_mus_long_t(__pyx_v_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __pyx_t_2 = 0; if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_shape, __pyx_t_3) < 0) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(double))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_itemsize, __pyx_t_3) < 0) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_format, __pyx_n_s_d) < 0) __PYX_ERR(0, 243, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_allocate_buffer, Py_True) < 0) __PYX_ERR(0, 243, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_array_type), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_arr = ((struct __pyx_array_obj *)__pyx_t_3); __pyx_t_3 = 0;
+0244: arr.data = <char*>self._ycoeffs_ptr
__pyx_v_arr->data = ((char *)__pyx_v_self->_ycoeffs_ptr);
+0245: self._ycoeffs = np.asarray(arr)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_asarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_1, ((PyObject *)__pyx_v_arr)}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_3); __Pyx_GOTREF((PyObject *)__pyx_v_self->_ycoeffs); __Pyx_DECREF((PyObject *)__pyx_v_self->_ycoeffs); __pyx_v_self->_ycoeffs = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0;
0246:
0247:
+0248: cpdef set_up_pv_data(self):
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_17set_up_pv_data(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_7mus_any_set_up_pv_data(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self, int __pyx_skip_dispatch) {
mus_long_t __pyx_v_size;
struct __pyx_array_obj *__pyx_v_pvai = 0;
struct __pyx_array_obj *__pyx_v_pva = 0;
struct __pyx_array_obj *__pyx_v_pvf = 0;
struct __pyx_array_obj *__pyx_v_pvp = 0;
struct __pyx_array_obj *__pyx_v_pvpi = 0;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_up_pv_data", 0);
/* Check if called by wrapper */
if (unlikely(__pyx_skip_dispatch)) ;
/* Check if overridden in Python */
else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
#endif
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_up_pv_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 248, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#ifdef __Pyx_CyFunction_USED
if (!__Pyx_IsCyOrPyCFunction(__pyx_t_1)
#else
if (!PyCFunction_Check(__pyx_t_1)
#endif
|| (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_8pysndlib_3clm_7mus_any_17set_up_pv_data)) {
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_t_1);
__pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
__pyx_t_5 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_5 = 1;
}
}
{
PyObject *__pyx_callargs[1] = {__pyx_t_4, };
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 248, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
goto __pyx_L0;
}
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
__pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
__pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
__pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
}
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
}
#endif
}
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.mus_any.set_up_pv_data", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF((PyObject *)__pyx_v_pvai);
__Pyx_XDECREF((PyObject *)__pyx_v_pva);
__Pyx_XDECREF((PyObject *)__pyx_v_pvf);
__Pyx_XDECREF((PyObject *)__pyx_v_pvp);
__Pyx_XDECREF((PyObject *)__pyx_v_pvpi);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_17set_up_pv_data(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_7mus_any_16set_up_pv_data, "\n :meta private:\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_7mus_any_17set_up_pv_data = {"set_up_pv_data", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_7mus_any_17set_up_pv_data, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_7mus_any_16set_up_pv_data};
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_17set_up_pv_data(PyObject *__pyx_v_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_up_pv_data (wrapper)", 0);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("set_up_pv_data", 1, 0, 0, __pyx_nargs); return NULL;}
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "set_up_pv_data", 0))) return NULL;
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_16set_up_pv_data(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_16set_up_pv_data(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_up_pv_data", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_7mus_any_set_up_pv_data(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 248, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.set_up_pv_data", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_7mus_any_17set_up_pv_data, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_mus_any_set_up_pv_data, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__100)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 248, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem((PyObject *)__pyx_ptype_8pysndlib_3clm_mus_any->tp_dict, __pyx_n_s_set_up_pv_data, __pyx_t_41) < 0) __PYX_ERR(0, 248, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
PyType_Modified(__pyx_ptype_8pysndlib_3clm_mus_any);
/* … */
__pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_set_up_pv_data, 248, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) __PYX_ERR(0, 248, __pyx_L1_error)
0249: """
0250: :meta private:
0251: """
+0252: cdef cclm.mus_long_t size = cclm.mus_length(self._ptr)
__pyx_v_size = mus_length(__pyx_v_self->_ptr);
0253:
+0254: self._pv_amp_increments_ptr = cclm.mus_phase_vocoder_amp_increments(self._ptr)
__pyx_v_self->_pv_amp_increments_ptr = mus_phase_vocoder_amp_increments(__pyx_v_self->_ptr);
+0255: cdef view.array pvai = view.array(shape=(size,),itemsize=sizeof(double), format='d', allocate_buffer=True)
__pyx_t_1 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_From_mus_long_t(__pyx_v_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __pyx_t_2 = 0; if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_shape, __pyx_t_3) < 0) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(double))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_itemsize, __pyx_t_3) < 0) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_format, __pyx_n_s_d) < 0) __PYX_ERR(0, 255, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_allocate_buffer, Py_True) < 0) __PYX_ERR(0, 255, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_array_type), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_pvai = ((struct __pyx_array_obj *)__pyx_t_3); __pyx_t_3 = 0;
+0256: pvai.data = <char*>self._pv_amp_increments_ptr
__pyx_v_pvai->data = ((char *)__pyx_v_self->_pv_amp_increments_ptr);
+0257: self._pv_amp_increments = np.asarray(pvai)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_asarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_1, ((PyObject *)__pyx_v_pvai)}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_3); __Pyx_GOTREF((PyObject *)__pyx_v_self->_pv_amp_increments); __Pyx_DECREF((PyObject *)__pyx_v_self->_pv_amp_increments); __pyx_v_self->_pv_amp_increments = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0;
+0258: self._pv_amp_increments.fill(0.0)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->_pv_amp_increments), __pyx_n_s_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_float_0_0}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
0259:
+0260: self._pv_amps_ptr = cclm.mus_phase_vocoder_amps(self._ptr)
__pyx_v_self->_pv_amps_ptr = mus_phase_vocoder_amps(__pyx_v_self->_ptr);
+0261: cdef view.array pva = view.array(shape=(size // 2,),itemsize=sizeof(double), format='d', allocate_buffer=True)
__pyx_t_3 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_From_mus_long_t(__Pyx_div_mus_long_t(__pyx_v_size, 2)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = 0; if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_shape, __pyx_t_1) < 0) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(double))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_itemsize, __pyx_t_1) < 0) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_format, __pyx_n_s_d) < 0) __PYX_ERR(0, 261, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_allocate_buffer, Py_True) < 0) __PYX_ERR(0, 261, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_array_type), __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_pva = ((struct __pyx_array_obj *)__pyx_t_1); __pyx_t_1 = 0;
+0262: pva.data = <char*>self._pv_amps_ptr
__pyx_v_pva->data = ((char *)__pyx_v_self->_pv_amps_ptr);
+0263: self._pv_amps = np.asarray(pva)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_asarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_pva)}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 263, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF((PyObject *)__pyx_v_self->_pv_amps); __Pyx_DECREF((PyObject *)__pyx_v_self->_pv_amps); __pyx_v_self->_pv_amps = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+0264: self._pv_amps.fill(0.0)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->_pv_amps), __pyx_n_s_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_float_0_0}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0265:
+0266: self._pv_freqs_ptr = cclm.mus_phase_vocoder_freqs(self._ptr)
__pyx_v_self->_pv_freqs_ptr = mus_phase_vocoder_freqs(__pyx_v_self->_ptr);
+0267: cdef view.array pvf = view.array(shape=(size,),itemsize=sizeof(double), format='d', allocate_buffer=True)
__pyx_t_1 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_From_mus_long_t(__pyx_v_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __pyx_t_2 = 0; if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_shape, __pyx_t_3) < 0) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(double))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_itemsize, __pyx_t_3) < 0) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_format, __pyx_n_s_d) < 0) __PYX_ERR(0, 267, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_allocate_buffer, Py_True) < 0) __PYX_ERR(0, 267, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_array_type), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_pvf = ((struct __pyx_array_obj *)__pyx_t_3); __pyx_t_3 = 0;
+0268: pvf.data = <char*>self._pv_freqs_ptr
__pyx_v_pvf->data = ((char *)__pyx_v_self->_pv_freqs_ptr);
+0269: self._pv_freqs = np.asarray(pvf)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_asarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_1, ((PyObject *)__pyx_v_pvf)}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 269, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_3); __Pyx_GOTREF((PyObject *)__pyx_v_self->_pv_freqs); __Pyx_DECREF((PyObject *)__pyx_v_self->_pv_freqs); __pyx_v_self->_pv_freqs = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0;
+0270: self._pv_freqs.fill(0.0)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->_pv_freqs), __pyx_n_s_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 270, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_float_0_0}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 270, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
0271:
+0272: self._pv_phases_ptr = cclm.mus_phase_vocoder_phases(self._ptr)
__pyx_v_self->_pv_phases_ptr = mus_phase_vocoder_phases(__pyx_v_self->_ptr);
+0273: cdef view.array pvp = view.array(shape=(size // 2,),itemsize=sizeof(double), format='d', allocate_buffer=True)
__pyx_t_3 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_From_mus_long_t(__Pyx_div_mus_long_t(__pyx_v_size, 2)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = 0; if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_shape, __pyx_t_1) < 0) __PYX_ERR(0, 273, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(double))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_itemsize, __pyx_t_1) < 0) __PYX_ERR(0, 273, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_format, __pyx_n_s_d) < 0) __PYX_ERR(0, 273, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_allocate_buffer, Py_True) < 0) __PYX_ERR(0, 273, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_array_type), __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_pvp = ((struct __pyx_array_obj *)__pyx_t_1); __pyx_t_1 = 0;
+0274: pvp.data = <char*>self._pv_phases_ptr
__pyx_v_pvp->data = ((char *)__pyx_v_self->_pv_phases_ptr);
+0275: self._pv_phases = np.asarray(pvp)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_asarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_pvp)}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 275, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF((PyObject *)__pyx_v_self->_pv_phases); __Pyx_DECREF((PyObject *)__pyx_v_self->_pv_phases); __pyx_v_self->_pv_phases = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+0276: self._pv_phases.fill(0.0)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->_pv_phases), __pyx_n_s_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_float_0_0}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0277:
+0278: self._pv_phase_increments_ptr = cclm.mus_phase_vocoder_phase_increments(self._ptr)
__pyx_v_self->_pv_phase_increments_ptr = mus_phase_vocoder_phase_increments(__pyx_v_self->_ptr);
+0279: cdef view.array pvpi = view.array(shape=(size // 2,),itemsize=sizeof(double), format='d', allocate_buffer=True)
__pyx_t_1 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_From_mus_long_t(__Pyx_div_mus_long_t(__pyx_v_size, 2)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __pyx_t_2 = 0; if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_shape, __pyx_t_3) < 0) __PYX_ERR(0, 279, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(double))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_itemsize, __pyx_t_3) < 0) __PYX_ERR(0, 279, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_format, __pyx_n_s_d) < 0) __PYX_ERR(0, 279, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_allocate_buffer, Py_True) < 0) __PYX_ERR(0, 279, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_array_type), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_pvpi = ((struct __pyx_array_obj *)__pyx_t_3); __pyx_t_3 = 0;
+0280: pvpi.data = <char*>self._pv_phase_increments_ptr
__pyx_v_pvpi->data = ((char *)__pyx_v_self->_pv_phase_increments_ptr);
+0281: self._pv_phase_increments = np.asarray(pvpi)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_asarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_1, ((PyObject *)__pyx_v_pvpi)}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 281, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_3); __Pyx_GOTREF((PyObject *)__pyx_v_self->_pv_phase_increments); __Pyx_DECREF((PyObject *)__pyx_v_self->_pv_phase_increments); __pyx_v_self->_pv_phase_increments = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0;
+0282: self._pv_phase_increments.fill(0.0)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->_pv_phase_increments), __pyx_n_s_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_float_0_0}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
0283:
+0284: def __call__(self, arg1=0.0, arg2=0.0):
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_19__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_19__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_arg1 = 0;
PyObject *__pyx_v_arg2 = 0;
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__call__ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_arg1,&__pyx_n_s_arg2,0};
PyObject* values[2] = {0,0};
values[0] = ((PyObject *)__pyx_float_0_0);
values[1] = ((PyObject *)__pyx_float_0_0);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_arg1);
if (value) { values[0] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 284, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_arg2);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 284, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__call__") < 0)) __PYX_ERR(0, 284, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_arg1 = values[0];
__pyx_v_arg2 = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__call__", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 284, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.mus_any.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_18__call__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self), __pyx_v_arg1, __pyx_v_arg2);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_18__call__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self, PyObject *__pyx_v_arg1, PyObject *__pyx_v_arg2) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__call__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.mus_any.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
+0285: return cclm.mus_apply(self._ptr, arg1,arg2)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_arg1); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 285, __pyx_L1_error) __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_arg2); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 285, __pyx_L1_error) __pyx_t_3 = PyFloat_FromDouble(mus_apply(__pyx_v_self->_ptr, __pyx_t_1, __pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0;
0286:
+0287: def __str__(self):
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_21__str__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_21__str__(PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_20__str__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_20__str__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__str__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.mus_any.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
+0288: return f'{mus_any} {cclm.mus_describe(self._ptr)}'
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = 0; __pyx_t_3 = 127; __pyx_t_4 = __Pyx_PyObject_FormatSimple(((PyObject *)__pyx_ptype_8pysndlib_3clm_mus_any), __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_3; __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); __pyx_t_4 = 0; __Pyx_INCREF(__pyx_kp_u__15); __pyx_t_2 += 1; __Pyx_GIVEREF(__pyx_kp_u__15); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_kp_u__15); __pyx_t_4 = __Pyx_PyUnicode_FromString(mus_describe(__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_3; __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_1, 3, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0;
0289:
0290:
+0291: @property
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_13mus_frequency_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_13mus_frequency_1__get__(PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_13mus_frequency___get__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_13mus_frequency___get__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_frequency.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0292: def mus_frequency(self):
0293: """
0294: frequency (hz), float
0295: """
+0296: return cclm.mus_frequency(self._ptr)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyFloat_FromDouble(mus_frequency(__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0297:
+0298: @mus_frequency.setter
/* Python wrapper */
static int __pyx_pw_8pysndlib_3clm_7mus_any_13mus_frequency_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v); /*proto*/
static int __pyx_pw_8pysndlib_3clm_7mus_any_13mus_frequency_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_13mus_frequency_2__set__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self), ((PyObject *)__pyx_v_v));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static int __pyx_pf_8pysndlib_3clm_7mus_any_13mus_frequency_2__set__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self, PyObject *__pyx_v_v) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__", 0);
/* … */
/* function exit code */
__pyx_r = 0;
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_frequency.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0299: def mus_frequency(self, v):
+0300: cclm.mus_set_frequency(self._ptr, v)
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_v); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 300, __pyx_L1_error) (void)(mus_set_frequency(__pyx_v_self->_ptr, __pyx_t_1));
0301:
+0302: @property
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_9mus_phase_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_9mus_phase_1__get__(PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_9mus_phase___get__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_9mus_phase___get__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_phase.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0303: def mus_phase(self):
0304: """
0305: phase (radians), float
0306: """
+0307: return cclm.mus_phase(self._ptr)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyFloat_FromDouble(mus_phase(__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0308:
+0309: @mus_phase.setter
/* Python wrapper */
static int __pyx_pw_8pysndlib_3clm_7mus_any_9mus_phase_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v); /*proto*/
static int __pyx_pw_8pysndlib_3clm_7mus_any_9mus_phase_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_9mus_phase_2__set__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self), ((PyObject *)__pyx_v_v));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static int __pyx_pf_8pysndlib_3clm_7mus_any_9mus_phase_2__set__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self, PyObject *__pyx_v_v) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__", 0);
/* … */
/* function exit code */
__pyx_r = 0;
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_phase.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0310: def mus_phase(self, v):
+0311: cclm.mus_set_phase(self._ptr, v)
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_v); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 311, __pyx_L1_error) (void)(mus_set_phase(__pyx_v_self->_ptr, __pyx_t_1));
0312:
+0313: @property
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_10mus_length_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_10mus_length_1__get__(PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_10mus_length___get__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_10mus_length___get__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_length.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0314: def mus_length(self):
0315: """
0316: data length, int
0317: """
+0318: return cclm.mus_length(self._ptr)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_mus_long_t(mus_length(__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 318, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0319:
+0320: @mus_length.setter
/* Python wrapper */
static int __pyx_pw_8pysndlib_3clm_7mus_any_10mus_length_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v); /*proto*/
static int __pyx_pw_8pysndlib_3clm_7mus_any_10mus_length_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_10mus_length_2__set__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self), ((PyObject *)__pyx_v_v));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static int __pyx_pf_8pysndlib_3clm_7mus_any_10mus_length_2__set__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self, PyObject *__pyx_v_v) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__", 0);
/* … */
/* function exit code */
__pyx_r = 0;
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_length.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0321: def mus_length(self, v):
+0322: cclm.mus_set_length(self._ptr, v)
__pyx_t_1 = __Pyx_PyInt_As_mus_long_t(__pyx_v_v); if (unlikely((__pyx_t_1 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 322, __pyx_L1_error) (void)(mus_set_length(__pyx_v_self->_ptr, __pyx_t_1));
0323:
+0324: @property
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_13mus_increment_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_13mus_increment_1__get__(PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_13mus_increment___get__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_13mus_increment___get__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_increment.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0325: def mus_increment(self):
0326: """
0327: various increments, int
0328: """
+0329: return cclm.mus_increment(self._ptr)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyFloat_FromDouble(mus_increment(__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 329, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0330:
+0331: @mus_increment.setter
/* Python wrapper */
static int __pyx_pw_8pysndlib_3clm_7mus_any_13mus_increment_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v); /*proto*/
static int __pyx_pw_8pysndlib_3clm_7mus_any_13mus_increment_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_13mus_increment_2__set__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self), ((PyObject *)__pyx_v_v));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static int __pyx_pf_8pysndlib_3clm_7mus_any_13mus_increment_2__set__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self, PyObject *__pyx_v_v) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__", 0);
/* … */
/* function exit code */
__pyx_r = 0;
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_increment.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0332: def mus_increment(self, v):
+0333: cclm.mus_set_increment(self._ptr, v)
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_v); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 333, __pyx_L1_error) (void)(mus_set_increment(__pyx_v_self->_ptr, __pyx_t_1));
0334:
+0335: @property
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_12mus_location_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_12mus_location_1__get__(PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_12mus_location___get__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_12mus_location___get__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_location.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0336: def mus_location(self):
0337: """
0338: sample location for reads/write, int
0339: """
+0340: return cclm.mus_location(self._ptr)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_mus_long_t(mus_location(__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0341:
+0342: @mus_location.setter
/* Python wrapper */
static int __pyx_pw_8pysndlib_3clm_7mus_any_12mus_location_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v); /*proto*/
static int __pyx_pw_8pysndlib_3clm_7mus_any_12mus_location_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_12mus_location_2__set__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self), ((PyObject *)__pyx_v_v));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static int __pyx_pf_8pysndlib_3clm_7mus_any_12mus_location_2__set__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self, PyObject *__pyx_v_v) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__", 0);
/* … */
/* function exit code */
__pyx_r = 0;
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_location.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0343: def mus_location(self, v):
+0344: cclm.mus_set_location(self._ptr, v)
__pyx_t_1 = __Pyx_PyInt_As_mus_long_t(__pyx_v_v); if (unlikely((__pyx_t_1 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 344, __pyx_L1_error) (void)(mus_set_location(__pyx_v_self->_ptr, __pyx_t_1));
0345:
+0346: @property
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_10mus_offset_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_10mus_offset_1__get__(PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_10mus_offset___get__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_10mus_offset___get__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_offset.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0347: def mus_offset(self):
+0348: return cclm.mus_offset(self._ptr)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyFloat_FromDouble(mus_offset(__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 348, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0349:
+0350: @mus_offset.setter
/* Python wrapper */
static int __pyx_pw_8pysndlib_3clm_7mus_any_10mus_offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v); /*proto*/
static int __pyx_pw_8pysndlib_3clm_7mus_any_10mus_offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_10mus_offset_2__set__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self), ((PyObject *)__pyx_v_v));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static int __pyx_pf_8pysndlib_3clm_7mus_any_10mus_offset_2__set__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self, PyObject *__pyx_v_v) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__", 0);
/* … */
/* function exit code */
__pyx_r = 0;
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_offset.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0351: def mus_offset(self, v):
0352: """
0353: envelope offset, int
0354: """
+0355: cclm.mus_set_offset(self._ptr, v)
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_v); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 355, __pyx_L1_error) (void)(mus_set_offset(__pyx_v_self->_ptr, __pyx_t_1));
0356:
+0357: @property
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_12mus_channels_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_12mus_channels_1__get__(PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_12mus_channels___get__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_12mus_channels___get__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_channels.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0358: def mus_channels(self):
0359: """
0360: channels open, int
0361: """
+0362: return cclm.mus_channels(self._ptr)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_int(mus_channels(__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 362, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0363:
0364:
+0365: @property
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_15mus_interp_type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_15mus_interp_type_1__get__(PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_15mus_interp_type___get__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_15mus_interp_type___get__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_interp_type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0366: def mus_interp_type(self):
0367: """
0368: interpolation type (inter.linear, etc), interp
0369: not setable
0370: """
+0371: return cclm.mus_interp_type(self._ptr)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_int(mus_interp_type(__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0372:
+0373: @property
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_9mus_width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_9mus_width_1__get__(PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_9mus_width___get__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_9mus_width___get__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0374: def mus_width(self):
0375: """
0376: width of interpolation tables, etc, int
0377: """
+0378: return cclm.mus_width(self._ptr)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyFloat_FromDouble(mus_width(__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 378, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0379:
+0380: @mus_width.setter
/* Python wrapper */
static int __pyx_pw_8pysndlib_3clm_7mus_any_9mus_width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v); /*proto*/
static int __pyx_pw_8pysndlib_3clm_7mus_any_9mus_width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_9mus_width_2__set__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self), ((PyObject *)__pyx_v_v));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static int __pyx_pf_8pysndlib_3clm_7mus_any_9mus_width_2__set__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self, PyObject *__pyx_v_v) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__", 0);
/* … */
/* function exit code */
__pyx_r = 0;
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0381: def mus_width(self, v):
+0382: cclm.mus_set_width(self._ptr, v)
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_v); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 382, __pyx_L1_error) (void)(mus_set_width(__pyx_v_self->_ptr, __pyx_t_1));
0383:
+0384: @property
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_9mus_order_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_9mus_order_1__get__(PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_9mus_order___get__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_9mus_order___get__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_order.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0385: def mus_order(self):
0386: """
0387: filter order, int
0388: """
+0389: return cclm.mus_order(self._ptr)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_mus_long_t(mus_order(__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 389, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0390:
+0391: @property
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_10mus_scaler_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_10mus_scaler_1__get__(PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_10mus_scaler___get__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_10mus_scaler___get__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_scaler.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0392: def mus_scaler(self):
0393: """
0394: scaler, normally on an amplitude, float
0395: """
+0396: return cclm.mus_scaler(self._ptr)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyFloat_FromDouble(mus_scaler(__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 396, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0397:
+0398: @mus_scaler.setter
/* Python wrapper */
static int __pyx_pw_8pysndlib_3clm_7mus_any_10mus_scaler_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v); /*proto*/
static int __pyx_pw_8pysndlib_3clm_7mus_any_10mus_scaler_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_10mus_scaler_2__set__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self), ((PyObject *)__pyx_v_v));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static int __pyx_pf_8pysndlib_3clm_7mus_any_10mus_scaler_2__set__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self, PyObject *__pyx_v_v) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__", 0);
/* … */
/* function exit code */
__pyx_r = 0;
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_scaler.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0399: def mus_scaler(self, v):
+0400: cclm.mus_set_scaler(self._ptr, v)
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_v); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 400, __pyx_L1_error) (void)(mus_set_scaler(__pyx_v_self->_ptr, __pyx_t_1));
0401:
+0402: @property
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_12mus_feedback_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_12mus_feedback_1__get__(PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_12mus_feedback___get__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_12mus_feedback___get__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_feedback.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0403: def mus_feedback(self):
0404: """
0405: feedback coefficient, float
0406: """
+0407: return cclm.mus_feedback(self._ptr)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyFloat_FromDouble(mus_feedback(__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 407, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0408:
+0409: @mus_feedback.setter
/* Python wrapper */
static int __pyx_pw_8pysndlib_3clm_7mus_any_12mus_feedback_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v); /*proto*/
static int __pyx_pw_8pysndlib_3clm_7mus_any_12mus_feedback_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_12mus_feedback_2__set__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self), ((PyObject *)__pyx_v_v));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static int __pyx_pf_8pysndlib_3clm_7mus_any_12mus_feedback_2__set__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self, PyObject *__pyx_v_v) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__", 0);
/* … */
/* function exit code */
__pyx_r = 0;
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_feedback.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0410: def mus_feedback(self, v):
+0411: cclm.mus_set_feedback(self._ptr, v)
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_v); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 411, __pyx_L1_error) (void)(mus_set_feedback(__pyx_v_self->_ptr, __pyx_t_1));
0412:
+0413: @property
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_15mus_feedforward_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_15mus_feedforward_1__get__(PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_15mus_feedforward___get__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_15mus_feedforward___get__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_feedforward.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0414: def mus_feedforward(self):
0415: """
0416: feedforward coefficient, float
0417: """
+0418: return cclm.mus_feedforward(self._ptr)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyFloat_FromDouble(mus_feedforward(__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 418, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0419:
+0420: @mus_feedforward.setter
/* Python wrapper */
static int __pyx_pw_8pysndlib_3clm_7mus_any_15mus_feedforward_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v); /*proto*/
static int __pyx_pw_8pysndlib_3clm_7mus_any_15mus_feedforward_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_15mus_feedforward_2__set__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self), ((PyObject *)__pyx_v_v));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static int __pyx_pf_8pysndlib_3clm_7mus_any_15mus_feedforward_2__set__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self, PyObject *__pyx_v_v) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__", 0);
/* … */
/* function exit code */
__pyx_r = 0;
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_feedforward.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0421: def mus_feedforward(self, v):
+0422: cclm.mus_set_feedforward(self._ptr, v)
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_v); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 422, __pyx_L1_error) (void)(mus_set_feedforward(__pyx_v_self->_ptr, __pyx_t_1));
0423:
+0424: @property
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_7mus_hop_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_7mus_hop_1__get__(PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_7mus_hop___get__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_7mus_hop___get__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_hop.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0425: def mus_hop(self):
0426: """
0427: hop size for block processing, int
0428: """
+0429: return cclm.mus_hop(self._ptr)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_mus_long_t(mus_hop(__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 429, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0430:
+0431: @mus_hop.setter
/* Python wrapper */
static int __pyx_pw_8pysndlib_3clm_7mus_any_7mus_hop_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v); /*proto*/
static int __pyx_pw_8pysndlib_3clm_7mus_any_7mus_hop_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_7mus_hop_2__set__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self), ((PyObject *)__pyx_v_v));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static int __pyx_pf_8pysndlib_3clm_7mus_any_7mus_hop_2__set__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self, PyObject *__pyx_v_v) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__", 0);
/* … */
/* function exit code */
__pyx_r = 0;
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_hop.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0432: def mus_hop(self, v):
+0433: cclm.mus_set_hop(self._ptr, v)
__pyx_t_1 = __Pyx_PyInt_As_mus_long_t(__pyx_v_v); if (unlikely((__pyx_t_1 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 433, __pyx_L1_error) (void)(mus_set_hop(__pyx_v_self->_ptr, __pyx_t_1));
0434:
+0435: @property
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_8mus_ramp_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_8mus_ramp_1__get__(PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_8mus_ramp___get__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_8mus_ramp___get__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_ramp.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0436: def mus_ramp(self):
0437: """
0438: granulate grain envelope ramp setting, int
0439: """
+0440: return cclm.mus_ramp(self._ptr)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_mus_long_t(mus_ramp(__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0441:
+0442: @mus_ramp.setter
/* Python wrapper */
static int __pyx_pw_8pysndlib_3clm_7mus_any_8mus_ramp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v); /*proto*/
static int __pyx_pw_8pysndlib_3clm_7mus_any_8mus_ramp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_8mus_ramp_2__set__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self), ((PyObject *)__pyx_v_v));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static int __pyx_pf_8pysndlib_3clm_7mus_any_8mus_ramp_2__set__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self, PyObject *__pyx_v_v) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__", 0);
/* … */
/* function exit code */
__pyx_r = 0;
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_ramp.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0443: def mus_ramp(self, v):
+0444: cclm.mus_set_ramp(self._ptr, v)
__pyx_t_1 = __Pyx_PyInt_As_mus_long_t(__pyx_v_v); if (unlikely((__pyx_t_1 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 444, __pyx_L1_error) (void)(mus_set_ramp(__pyx_v_self->_ptr, __pyx_t_1));
0445:
+0446: @property
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_11mus_channel_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_11mus_channel_1__get__(PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_11mus_channel___get__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_11mus_channel___get__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_channel.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0447: def mus_channel(self):
0448: """
0449: channel being read/written, int
0450: """
+0451: return cclm.mus_channel(self._ptr)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_int(mus_channel(__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0452:
+0453: @property
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_8mus_data_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_8mus_data_1__get__(PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_8mus_data___get__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_8mus_data___get__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_data.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0454: def mus_data(self):
0455: """
0456: array of data, np.ndarray
0457: """
+0458: if not cclm.mus_data_exists(self._ptr): #could do this on all properties but seems best with array
__pyx_t_1 = (!mus_data_exists(__pyx_v_self->_ptr));
if (unlikely(__pyx_t_1)) {
/* … */
}
+0459: raise TypeError(f'mus_data can not be called on {cclm.mus_name(self._ptr)}')
__pyx_t_2 = __Pyx_PyUnicode_FromString(mus_name(__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_mus_data_can_not_be_called_on, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(0, 459, __pyx_L1_error)
+0460: return self._data
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_self->_data); __pyx_r = ((PyObject *)__pyx_v_self->_data); goto __pyx_L0;
0461:
+0462: @mus_data.setter
/* Python wrapper */
static int __pyx_pw_8pysndlib_3clm_7mus_any_8mus_data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_data); /*proto*/
static int __pyx_pw_8pysndlib_3clm_7mus_any_8mus_data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_data) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_8mus_data_2__set__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self), ((PyObject *)__pyx_v_data));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static int __pyx_pf_8pysndlib_3clm_7mus_any_8mus_data_2__set__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self, PyObject *__pyx_v_data) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__set__", 0);
/* … */
/* function exit code */
__pyx_r = 0;
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_data.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0463: def mus_data(self, data: npt.NDArray[np.float64]):
+0464: if not cclm.mus_data_exists(self._ptr): #could do this on all properties but seems best with array
__pyx_t_1 = (!mus_data_exists(__pyx_v_self->_ptr));
if (unlikely(__pyx_t_1)) {
/* … */
}
+0465: raise TypeError(f'mus_data can not be called on {cclm.mus_name(self._ptr)}')
__pyx_t_2 = __Pyx_PyUnicode_FromString(mus_name(__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 465, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_mus_data_can_not_be_called_on, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 465, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 465, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(0, 465, __pyx_L1_error)
0466:
+0467: np.copyto(self._data , data)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 467, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_copyto); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 467, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[3] = {__pyx_t_3, ((PyObject *)__pyx_v_self->_data), __pyx_v_data}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 467, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
0468:
+0469: @property
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_11mus_xcoeffs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_11mus_xcoeffs_1__get__(PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_11mus_xcoeffs___get__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_11mus_xcoeffs___get__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_xcoeffs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0470: def mus_xcoeffs(self):
0471: """
0472: x (input) coefficient, float
0473: not settable
0474: """
+0475: if not cclm.mus_xcoeffs_exists(self._ptr): #could do this on all properties but seems best with array
__pyx_t_1 = (!mus_xcoeffs_exists(__pyx_v_self->_ptr));
if (unlikely(__pyx_t_1)) {
/* … */
}
+0476: raise TypeError(f'mus_xcoeffs can not be called on {cclm.mus_name(self._ptr)}')
__pyx_t_2 = __Pyx_PyUnicode_FromString(mus_name(__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_mus_xcoeffs_can_not_be_called_on, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(0, 476, __pyx_L1_error)
+0477: return self._xcoeffs
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_self->_xcoeffs); __pyx_r = ((PyObject *)__pyx_v_self->_xcoeffs); goto __pyx_L0;
0478:
+0479: @property
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_11mus_ycoeffs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_8pysndlib_3clm_7mus_any_11mus_ycoeffs_1__get__(PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_7mus_any_11mus_ycoeffs___get__(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_7mus_any_11mus_ycoeffs___get__(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.mus_any.mus_ycoeffs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0480: def mus_ycoeffs(self):
0481: """
0482: y (output, feedback) coefficient, float
0483: not settable
0484: """
+0485: if not cclm.mus_xcoeffs_exists(self._ptr): #could do this on all properties but seems best with array
__pyx_t_1 = (!mus_xcoeffs_exists(__pyx_v_self->_ptr));
if (unlikely(__pyx_t_1)) {
/* … */
}
+0486: raise TypeError(f'mus_ycoeffs can not be called on {cclm.mus_name(self._ptr)}')
__pyx_t_2 = __Pyx_PyUnicode_FromString(mus_name(__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 486, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_mus_ycoeffs_can_not_be_called_on, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 486, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 486, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(0, 486, __pyx_L1_error)
+0487: return self._ycoeffs
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_self->_ycoeffs); __pyx_r = ((PyObject *)__pyx_v_self->_ycoeffs); goto __pyx_L0;
0488:
0489:
0490:
+0491: cdef class mus_any_array:
struct __pyx_obj_8pysndlib_3clm_mus_any_array {
PyObject_HEAD
struct __pyx_vtabstruct_8pysndlib_3clm_mus_any_array *__pyx_vtab;
mus_any_ptr_ptr data;
size_t item_count;
};
/* … */
struct __pyx_vtabstruct_8pysndlib_3clm_mus_any_array {
struct __pyx_obj_8pysndlib_3clm_mus_any_array *(*from_pylist)(PyObject *);
};
static struct __pyx_vtabstruct_8pysndlib_3clm_mus_any_array *__pyx_vtabptr_8pysndlib_3clm_mus_any_array;
0492: """
0493: a wrapper class arrays of mus_any objects
0494: :meta private:
0495: """
0496: cdef cclm.mus_any_ptr_ptr data
0497: item_count: cython.size_t
+0498: def __cinit__(self, number: cython.size_t):
/* Python wrapper */
static int __pyx_pw_8pysndlib_3clm_13mus_any_array_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_8pysndlib_3clm_13mus_any_array_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
size_t __pyx_v_number;
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_number,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_number)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 498, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(0, 498, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
}
__pyx_v_number = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_number == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 498, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 498, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.mus_any_array.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return -1;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_13mus_any_array___cinit__(((struct __pyx_obj_8pysndlib_3clm_mus_any_array *)__pyx_v_self), __pyx_v_number);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static int __pyx_pf_8pysndlib_3clm_13mus_any_array___cinit__(struct __pyx_obj_8pysndlib_3clm_mus_any_array *__pyx_v_self, size_t __pyx_v_number) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__cinit__", 0);
/* … */
/* function exit code */
__pyx_r = 0;
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.mus_any_array.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0499: # allocate some memory (uninitialised, may contain arbitrary data)
+0500: if number > 0:
__pyx_t_1 = (__pyx_v_number > 0);
if (__pyx_t_1) {
/* … */
}
+0501: self.data = cython.cast(cclm.mus_any_ptr_ptr, PyMem_Malloc(
__pyx_v_self->data = ((mus_any_ptr_ptr)PyMem_Malloc((__pyx_v_number * (sizeof(mus_any_ptr)))));
0502: number * cython.sizeof(cclm.mus_any_ptr)))
+0503: if not self.data:
__pyx_t_1 = (!(__pyx_v_self->data != 0));
if (unlikely(__pyx_t_1)) {
/* … */
}
+0504: raise MemoryError()
PyErr_NoMemory(); __PYX_ERR(0, 504, __pyx_L1_error)
+0505: self.item_count = number
__pyx_v_self->item_count = __pyx_v_number;
0506:
0507:
+0508: def __dealloc__(self):
/* Python wrapper */
static void __pyx_pw_8pysndlib_3clm_13mus_any_array_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_8pysndlib_3clm_13mus_any_array_3__dealloc__(PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
__pyx_pf_8pysndlib_3clm_13mus_any_array_2__dealloc__(((struct __pyx_obj_8pysndlib_3clm_mus_any_array *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
}
static void __pyx_pf_8pysndlib_3clm_13mus_any_array_2__dealloc__(struct __pyx_obj_8pysndlib_3clm_mus_any_array *__pyx_v_self) {
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__dealloc__", 0);
/* … */
/* function exit code */
__Pyx_RefNannyFinishContext();
}
+0509: PyMem_Free(self.data) # no-op if self.data is null
PyMem_Free(__pyx_v_self->data);
0510:
+0511: def __len__(self):
/* Python wrapper */
static Py_ssize_t __pyx_pw_8pysndlib_3clm_13mus_any_array_5__len__(PyObject *__pyx_v_self); /*proto*/
static Py_ssize_t __pyx_pw_8pysndlib_3clm_13mus_any_array_5__len__(PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
Py_ssize_t __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__len__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_13mus_any_array_4__len__(((struct __pyx_obj_8pysndlib_3clm_mus_any_array *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static Py_ssize_t __pyx_pf_8pysndlib_3clm_13mus_any_array_4__len__(struct __pyx_obj_8pysndlib_3clm_mus_any_array *__pyx_v_self) {
Py_ssize_t __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__len__", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
+0512: return self.item_count
__pyx_r = __pyx_v_self->item_count; goto __pyx_L0;
0513:
+0514: def __str__(self):
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_13mus_any_array_7__str__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_8pysndlib_3clm_13mus_any_array_7__str__(PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_13mus_any_array_6__str__(((struct __pyx_obj_8pysndlib_3clm_mus_any_array *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_13mus_any_array_6__str__(struct __pyx_obj_8pysndlib_3clm_mus_any_array *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__str__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.mus_any_array.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
+0515: return f"count {self.item_count}"
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyUnicode_From_size_t(__pyx_v_self->item_count, 0, ' ', 'd'); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_count, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
0516:
0517: @staticmethod
+0518: cdef mus_any_array from_pylist(lst: list):
static struct __pyx_obj_8pysndlib_3clm_mus_any_array *__pyx_f_8pysndlib_3clm_13mus_any_array_from_pylist(PyObject *__pyx_v_lst) {
int __pyx_v_i;
struct __pyx_obj_8pysndlib_3clm_mus_any_array *__pyx_v_wrapper = 0;
struct __pyx_obj_8pysndlib_3clm_mus_any_array *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("from_pylist", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.mus_any_array.from_pylist", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF((PyObject *)__pyx_v_wrapper);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
0519: """
0520: factory function to create a wrapper around mus_float_t (double) and fill it with values from the list
0521: """
0522: cdef int i
0523:
+0524: cdef mus_any_array wrapper = mus_any_array(len(lst))
__pyx_t_1 = PyList_GET_SIZE(__pyx_v_lst); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 524, __pyx_L1_error) __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_8pysndlib_3clm_mus_any_array), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_wrapper = ((struct __pyx_obj_8pysndlib_3clm_mus_any_array *)__pyx_t_3); __pyx_t_3 = 0;
+0525: for i in range(len(lst)):
__pyx_t_1 = PyList_GET_SIZE(__pyx_v_lst); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 525, __pyx_L1_error) __pyx_t_4 = __pyx_t_1; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5;
+0526: wrapper.data[i] = (<mus_any>lst[i])._ptr
__pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_lst, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_3)->_ptr; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; (__pyx_v_wrapper->data[__pyx_v_i]) = __pyx_t_6; }
+0527: return wrapper
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_wrapper); __pyx_r = __pyx_v_wrapper; goto __pyx_L0;
0528:
0529:
0530:
0531:
0532: # --------------- callbacks ---------------- #
0533:
+0534: cdef double input_callback_func(void* arg, int direction):
static double __pyx_f_8pysndlib_3clm_input_callback_func(void *__pyx_v_arg, int __pyx_v_direction) {
mus_any_ptr __pyx_v_gen;
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("input_callback_func", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
+0535: cdef cclm.mus_any_ptr gen = <cclm.mus_any_ptr>arg
__pyx_v_gen = ((mus_any_ptr)__pyx_v_arg);
+0536: return cclm.mus_apply(gen, direction, 0.)
__pyx_r = mus_apply(__pyx_v_gen, __pyx_v_direction, 0.); goto __pyx_L0;
0537:
0538:
+0539: cdef void locsig_detour_callback_func(cclm.mus_any *ptr, cclm.mus_long_t val):
static void __pyx_f_8pysndlib_3clm_locsig_detour_callback_func(mus_any *__pyx_v_ptr, mus_long_t __pyx_v_val) {
int __pyx_v_channels;
int __pyx_v_reverb_channels;
mus_float_t *__pyx_v_outf;
mus_float_t *__pyx_v_revf;
int __pyx_v_i;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("locsig_detour_callback_func", 0);
/* … */
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_AddTraceback("pysndlib.clm.locsig_detour_callback_func", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_L0:;
__Pyx_RefNannyFinishContext();
}
+0540: cdef int channels = cclm.mus_locsig_channels(ptr)
__pyx_v_channels = mus_locsig_channels(__pyx_v_ptr);
+0541: cdef int reverb_channels = cclm.mus_locsig_reverb_channels(ptr)
__pyx_v_reverb_channels = mus_locsig_reverb_channels(__pyx_v_ptr);
+0542: cdef cclm.mus_float_t* outf = cclm.mus_locsig_outf(ptr)
__pyx_v_outf = mus_locsig_outf(__pyx_v_ptr);
+0543: cdef cclm.mus_float_t* revf = cclm.mus_locsig_revf(ptr)
__pyx_v_revf = mus_locsig_revf(__pyx_v_ptr);
+0544: for i in range(channels):
__pyx_t_1 = __pyx_v_channels;
__pyx_t_2 = __pyx_t_1;
for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
__pyx_v_i = __pyx_t_3;
+0545: CLM.output[i][val] += outf[i]
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CLM); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_output); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_5, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_6 = __pyx_v_val; __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_4, __pyx_t_6, mus_long_t, 1, __Pyx_PyInt_From_mus_long_t, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = PyFloat_FromDouble((__pyx_v_outf[__pyx_v_i])); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_t_5, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely((__Pyx_SetItemInt(__pyx_t_4, __pyx_t_6, __pyx_t_8, mus_long_t, 1, __Pyx_PyInt_From_mus_long_t, 0, 1, 1) < 0))) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; }
+0546: for i in range(reverb_channels):
__pyx_t_1 = __pyx_v_reverb_channels;
__pyx_t_2 = __pyx_t_1;
for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
__pyx_v_i = __pyx_t_3;
+0547: CLM.reverb[i][val] += revf[i]
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CLM); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_reverb); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_8, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_6 = __pyx_v_val; __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_4, __pyx_t_6, mus_long_t, 1, __Pyx_PyInt_From_mus_long_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = PyFloat_FromDouble((__pyx_v_revf[__pyx_v_i])); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely((__Pyx_SetItemInt(__pyx_t_4, __pyx_t_6, __pyx_t_5, mus_long_t, 1, __Pyx_PyInt_From_mus_long_t, 0, 1, 1) < 0))) __PYX_ERR(0, 547, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; }
0548:
0549:
0550: # --------------- file2ndarray, ndarray2file ---------------- #
+0551: cpdef file2ndarray(filename: str, channel: Optional[int]=None, beg: Optional[int]=None, dur: Optional[int]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_5file2ndarray(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_file2ndarray(PyObject *__pyx_v_filename, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_file2ndarray *__pyx_optional_args) {
PyObject *__pyx_v_channel = ((PyObject *)Py_None);
PyObject *__pyx_v_beg = ((PyObject *)Py_None);
PyObject *__pyx_v_dur = ((PyObject *)Py_None);
PyObject *__pyx_v_length = NULL;
int __pyx_v_chans;
int __pyx_v_srate;
PyObject *__pyx_v_bg = NULL;
PyObject *__pyx_v_out = NULL;
__Pyx_memviewslice __pyx_v_arr_view = { 0, 0, { 0 }, { 0 }, { 0 } };
int __pyx_v_i;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("file2ndarray", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_channel = __pyx_optional_args->channel;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_beg = __pyx_optional_args->beg;
if (__pyx_optional_args->__pyx_n > 2) {
__pyx_v_dur = __pyx_optional_args->dur;
}
}
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_10);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_11, 1);
__Pyx_AddTraceback("pysndlib.clm.file2ndarray", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_length);
__Pyx_XDECREF(__pyx_v_bg);
__Pyx_XDECREF(__pyx_v_out);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_arr_view, 1);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_5file2ndarray(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_4file2ndarray, "\n return an ndarray with samples from file and the sample rate of the data\n \n :param filename: filename\n :param channel: if None, will read all channels, otherwise just channel specified \n :param beg: beginning positions to read in samples\n :param dur: duration in samples to read\n :return: tuple of np.ndarray and sample rate\n :rtype: tuple\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_5file2ndarray = {"file2ndarray", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_5file2ndarray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_4file2ndarray};
static PyObject *__pyx_pw_8pysndlib_3clm_5file2ndarray(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_filename = 0;
PyObject *__pyx_v_channel = 0;
PyObject *__pyx_v_beg = 0;
PyObject *__pyx_v_dur = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("file2ndarray (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filename,&__pyx_n_s_channel,&__pyx_n_s_beg,&__pyx_n_s_dur,0};
PyObject* values[4] = {0,0,0,0};
values[1] = ((PyObject *)Py_None);
values[2] = ((PyObject *)Py_None);
values[3] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_filename)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 551, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_channel);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 551, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_beg);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 551, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dur);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 551, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "file2ndarray") < 0)) __PYX_ERR(0, 551, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_filename = ((PyObject*)values[0]);
__pyx_v_channel = values[1];
__pyx_v_beg = values[2];
__pyx_v_dur = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("file2ndarray", 0, 1, 4, __pyx_nargs); __PYX_ERR(0, 551, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.file2ndarray", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_filename), (&PyString_Type), 0, "filename", 1))) __PYX_ERR(0, 551, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_4file2ndarray(__pyx_self, __pyx_v_filename, __pyx_v_channel, __pyx_v_beg, __pyx_v_dur);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_4file2ndarray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_channel, PyObject *__pyx_v_beg, PyObject *__pyx_v_dur) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("file2ndarray", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 3;
__pyx_t_2.channel = __pyx_v_channel;
__pyx_t_2.beg = __pyx_v_beg;
__pyx_t_2.dur = __pyx_v_dur;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_file2ndarray(__pyx_v_filename, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 551, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.file2ndarray", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__105 = PyTuple_Pack(4, __pyx_n_s_filename, __pyx_n_s_channel, __pyx_n_s_beg, __pyx_n_s_dur); if (unlikely(!__pyx_tuple__105)) __PYX_ERR(0, 551, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__105);
__Pyx_GIVEREF(__pyx_tuple__105);
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 551, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_filename, __pyx_n_s_str_2) < 0) __PYX_ERR(0, 551, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_channel, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 551, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_beg, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 551, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_dur, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 551, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_5file2ndarray, 0, __pyx_n_s_file2ndarray, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__106)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 551, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_tuple__52);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_file2ndarray, __pyx_t_40) < 0) __PYX_ERR(0, 551, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_file2ndarray, 551, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) __PYX_ERR(0, 551, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_file2ndarray {
int __pyx_n;
PyObject *channel;
PyObject *beg;
PyObject *dur;
};
0552: """
0553: return an ndarray with samples from file and the sample rate of the data
0554:
0555: :param filename: filename
0556: :param channel: if None, will read all channels, otherwise just channel specified
0557: :param beg: beginning positions to read in samples
0558: :param dur: duration in samples to read
0559: :return: tuple of np.ndarray and sample rate
0560: :rtype: tuple
0561:
0562: """
+0563: length = dur or csndlib.mus_sound_framples(filename)
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_dur); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 563, __pyx_L1_error) if (!__pyx_t_2) { } else { __Pyx_INCREF(__pyx_v_dur); __pyx_t_1 = __pyx_v_dur; goto __pyx_L3_bool_binop_done; } __pyx_t_3 = __Pyx_PyObject_AsString(__pyx_v_filename); if (unlikely((!__pyx_t_3) && PyErr_Occurred())) __PYX_ERR(0, 563, __pyx_L1_error) __pyx_t_4 = mus_sound_framples(__pyx_t_3); __pyx_t_5 = __Pyx_PyInt_From_mus_long_t(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 563, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __pyx_t_5; __pyx_t_5 = 0; __pyx_L3_bool_binop_done:; __pyx_v_length = __pyx_t_1; __pyx_t_1 = 0;
+0564: chans = csndlib.mus_sound_chans(filename)
__pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_filename); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(0, 564, __pyx_L1_error) __pyx_v_chans = mus_sound_chans(__pyx_t_6);
+0565: srate = csndlib.mus_sound_srate(filename)
__pyx_t_7 = __Pyx_PyObject_AsString(__pyx_v_filename); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(0, 565, __pyx_L1_error) __pyx_v_srate = mus_sound_srate(__pyx_t_7);
+0566: bg = beg or 0
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_beg); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 566, __pyx_L1_error) if (!__pyx_t_2) { } else { __Pyx_INCREF(__pyx_v_beg); __pyx_t_1 = __pyx_v_beg; goto __pyx_L5_bool_binop_done; } __pyx_t_5 = __Pyx_PyInt_From_long(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 566, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __pyx_t_5; __pyx_t_5 = 0; __pyx_L5_bool_binop_done:; __pyx_v_bg = __pyx_t_1; __pyx_t_1 = 0;
+0567: out = np.zeros((1 if (channel != None) else chans, length), dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 567, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 567, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_8 = PyObject_RichCompare(__pyx_v_channel, Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 567, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 567, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_2) { __Pyx_INCREF(__pyx_int_1); __pyx_t_1 = __pyx_int_1; } else { __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_chans); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 567, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = __pyx_t_8; __pyx_t_8 = 0; } __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 567, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_1); __Pyx_INCREF(__pyx_v_length); __Pyx_GIVEREF(__pyx_v_length); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_length); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 567, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 567, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 567, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_double); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 567, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_dtype, __pyx_t_10) < 0) __PYX_ERR(0, 567, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 567, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_out = __pyx_t_10; __pyx_t_10 = 0;
0568:
+0569: cdef double [: , :] arr_view = out
__pyx_t_11 = __Pyx_PyObject_to_MemoryviewSlice_dsds_double(__pyx_v_out, PyBUF_WRITABLE); if (unlikely(!__pyx_t_11.memview)) __PYX_ERR(0, 569, __pyx_L1_error) __pyx_v_arr_view = __pyx_t_11; __pyx_t_11.memview = NULL; __pyx_t_11.data = NULL;
0570:
+0571: if not channel:
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_channel); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 571, __pyx_L1_error) __pyx_t_12 = (!__pyx_t_2); if (__pyx_t_12) { /* … */ goto __pyx_L7; }
+0572: for i in range(chans):
__pyx_t_13 = __pyx_v_chans;
__pyx_t_14 = __pyx_t_13;
for (__pyx_t_15 = 0; __pyx_t_15 < __pyx_t_14; __pyx_t_15+=1) {
__pyx_v_i = __pyx_t_15;
+0573: csndlib.mus_file_to_array(filename, i, bg, length, &arr_view[0][i])
__pyx_t_16 = __Pyx_PyObject_AsString(__pyx_v_filename); if (unlikely((!__pyx_t_16) && PyErr_Occurred())) __PYX_ERR(0, 573, __pyx_L1_error) __pyx_t_4 = __Pyx_PyInt_As_mus_long_t(__pyx_v_bg); if (unlikely((__pyx_t_4 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 573, __pyx_L1_error) __pyx_t_17 = __Pyx_PyInt_As_mus_long_t(__pyx_v_length); if (unlikely((__pyx_t_17 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 573, __pyx_L1_error) __pyx_t_18 = 0; __pyx_t_19 = __pyx_v_i; __pyx_t_20 = -1; if (__pyx_t_18 < 0) { __pyx_t_18 += __pyx_v_arr_view.shape[0]; if (unlikely(__pyx_t_18 < 0)) __pyx_t_20 = 0; } else if (unlikely(__pyx_t_18 >= __pyx_v_arr_view.shape[0])) __pyx_t_20 = 0; if (__pyx_t_19 < 0) { __pyx_t_19 += __pyx_v_arr_view.shape[1]; if (unlikely(__pyx_t_19 < 0)) __pyx_t_20 = 1; } else if (unlikely(__pyx_t_19 >= __pyx_v_arr_view.shape[1])) __pyx_t_20 = 1; if (unlikely(__pyx_t_20 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_20); __PYX_ERR(0, 573, __pyx_L1_error) } (void)(mus_file_to_array(__pyx_t_16, __pyx_v_i, __pyx_t_4, __pyx_t_17, (&(*((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_arr_view.data + __pyx_t_18 * __pyx_v_arr_view.strides[0]) ) + __pyx_t_19 * __pyx_v_arr_view.strides[1]) )))))); }
0574: else:
+0575: csndlib.mus_file_to_array(filename,0, bg, length, &arr_view[0][0])
/*else*/ {
__pyx_t_16 = __Pyx_PyObject_AsString(__pyx_v_filename); if (unlikely((!__pyx_t_16) && PyErr_Occurred())) __PYX_ERR(0, 575, __pyx_L1_error)
__pyx_t_17 = __Pyx_PyInt_As_mus_long_t(__pyx_v_bg); if (unlikely((__pyx_t_17 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 575, __pyx_L1_error)
__pyx_t_4 = __Pyx_PyInt_As_mus_long_t(__pyx_v_length); if (unlikely((__pyx_t_4 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 575, __pyx_L1_error)
__pyx_t_19 = 0;
__pyx_t_18 = 0;
__pyx_t_13 = -1;
if (__pyx_t_19 < 0) {
__pyx_t_19 += __pyx_v_arr_view.shape[0];
if (unlikely(__pyx_t_19 < 0)) __pyx_t_13 = 0;
} else if (unlikely(__pyx_t_19 >= __pyx_v_arr_view.shape[0])) __pyx_t_13 = 0;
if (__pyx_t_18 < 0) {
__pyx_t_18 += __pyx_v_arr_view.shape[1];
if (unlikely(__pyx_t_18 < 0)) __pyx_t_13 = 1;
} else if (unlikely(__pyx_t_18 >= __pyx_v_arr_view.shape[1])) __pyx_t_13 = 1;
if (unlikely(__pyx_t_13 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_13);
__PYX_ERR(0, 575, __pyx_L1_error)
}
(void)(mus_file_to_array(__pyx_t_16, 0, __pyx_t_17, __pyx_t_4, (&(*((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_arr_view.data + __pyx_t_19 * __pyx_v_arr_view.strides[0]) ) + __pyx_t_18 * __pyx_v_arr_view.strides[1]) ))))));
}
__pyx_L7:;
+0576: return out, srate
__Pyx_XDECREF(__pyx_r); __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_srate); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 576, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 576, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(__pyx_v_out); __Pyx_GIVEREF(__pyx_v_out); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_out); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_10); __pyx_t_10 = 0; __pyx_r = __pyx_t_8; __pyx_t_8 = 0; goto __pyx_L0;
0577:
+0578: cpdef ndarray2file(filename: str, arr: npt.NDArray[np.float64], length=None, sr=None, sample_type: Optional[sndlib.sample]=CLM.sample_type, header_type: Optional[sndlib.header]=CLM.header_type, comment=None ):
static PyObject *__pyx_pw_8pysndlib_3clm_7ndarray2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_ndarray2file(PyObject *__pyx_v_filename, PyObject *__pyx_v_arr, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_ndarray2file *__pyx_optional_args) {
PyObject *__pyx_v_length = ((PyObject *)Py_None);
PyObject *__pyx_v_sr = ((PyObject *)Py_None);
PyObject *__pyx_v_sample_type = __pyx_k__16;
PyObject *__pyx_v_header_type = __pyx_k__17;
PyObject *__pyx_v_chans = NULL;
int __pyx_v_fd;
mus_float_t **__pyx_v_obuf;
__Pyx_memviewslice __pyx_v_arr_view = { 0, 0, { 0 }, { 0 }, { 0 } };
PyObject *__pyx_v_i = NULL;
CYTHON_UNUSED int __pyx_v_err;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ndarray2file", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_length = __pyx_optional_args->length;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_sr = __pyx_optional_args->sr;
if (__pyx_optional_args->__pyx_n > 2) {
__pyx_v_sample_type = __pyx_optional_args->sample_type;
if (__pyx_optional_args->__pyx_n > 3) {
__pyx_v_header_type = __pyx_optional_args->header_type;
}
}
}
}
}
__Pyx_INCREF(__pyx_v_length);
__Pyx_INCREF(__pyx_v_sr);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_7);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_13, 1);
__Pyx_AddTraceback("pysndlib.clm.ndarray2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_chans);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_arr_view, 1);
__Pyx_XDECREF(__pyx_v_i);
__Pyx_XDECREF(__pyx_v_length);
__Pyx_XDECREF(__pyx_v_sr);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_7ndarray2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_6ndarray2file, "\n write an ndarray of samples to file\n \n :param filename: name of file\n :param arr: np.ndarray of samples\n :param length: length of samples to write. if None write all\n :param sr: sample rate of file to write\n :param sample_type: type of sample type to use. defaults to clm.sample_type\n :param header_type: header of sample type to use. defaults to clm.header_type\n :return: length in samples of file\n :rtype: int\n \n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_7ndarray2file = {"ndarray2file", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_7ndarray2file, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_6ndarray2file};
static PyObject *__pyx_pw_8pysndlib_3clm_7ndarray2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_filename = 0;
PyObject *__pyx_v_arr = 0;
PyObject *__pyx_v_length = 0;
PyObject *__pyx_v_sr = 0;
PyObject *__pyx_v_sample_type = 0;
PyObject *__pyx_v_header_type = 0;
PyObject *__pyx_v_comment = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ndarray2file (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filename,&__pyx_n_s_arr,&__pyx_n_s_length,&__pyx_n_s_sr,&__pyx_n_s_sample_type,&__pyx_n_s_header_type,&__pyx_n_s_comment,0};
PyObject* values[7] = {0,0,0,0,0,0,0};
values[2] = ((PyObject *)Py_None);
values[3] = ((PyObject *)Py_None);
values[4] = __pyx_k__16;
values[5] = __pyx_k__17;
values[6] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 7: values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_filename)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 578, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_arr)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 578, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("ndarray2file", 0, 2, 7, 1); __PYX_ERR(0, 578, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_length);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 578, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_sr);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 578, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_sample_type);
if (value) { values[4] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 578, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_header_type);
if (value) { values[5] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 578, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_comment);
if (value) { values[6] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 578, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "ndarray2file") < 0)) __PYX_ERR(0, 578, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 7: values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_filename = ((PyObject*)values[0]);
__pyx_v_arr = values[1];
__pyx_v_length = values[2];
__pyx_v_sr = values[3];
__pyx_v_sample_type = values[4];
__pyx_v_header_type = values[5];
__pyx_v_comment = values[6];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("ndarray2file", 0, 2, 7, __pyx_nargs); __PYX_ERR(0, 578, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.ndarray2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_filename), (&PyString_Type), 0, "filename", 1))) __PYX_ERR(0, 578, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_6ndarray2file(__pyx_self, __pyx_v_filename, __pyx_v_arr, __pyx_v_length, __pyx_v_sr, __pyx_v_sample_type, __pyx_v_header_type, __pyx_v_comment);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_6ndarray2file(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_arr, PyObject *__pyx_v_length, PyObject *__pyx_v_sr, PyObject *__pyx_v_sample_type, PyObject *__pyx_v_header_type, PyObject *__pyx_v_comment) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ndarray2file", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 5;
__pyx_t_2.length = __pyx_v_length;
__pyx_t_2.sr = __pyx_v_sr;
__pyx_t_2.sample_type = __pyx_v_sample_type;
__pyx_t_2.header_type = __pyx_v_header_type;
__pyx_t_2.comment = __pyx_v_comment;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_ndarray2file(__pyx_v_filename, __pyx_v_arr, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.ndarray2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_CLM); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_sample_type); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_k__16 = __pyx_t_41;
__Pyx_GIVEREF(__pyx_t_41);
__pyx_t_41 = 0;
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_CLM); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_header_type); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_k__17 = __pyx_t_40;
__Pyx_GIVEREF(__pyx_t_40);
__pyx_t_40 = 0;
/* … */
__pyx_tuple__107 = PyTuple_Pack(7, __pyx_n_s_filename, __pyx_n_s_arr, __pyx_n_s_length, __pyx_n_s_sr, __pyx_n_s_sample_type, __pyx_n_s_header_type, __pyx_n_s_comment); if (unlikely(!__pyx_tuple__107)) __PYX_ERR(0, 578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__107);
__Pyx_GIVEREF(__pyx_tuple__107);
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_CLM); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_sample_type); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_CLM); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_header_type); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = PyTuple_New(5); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_40, 0, Py_None);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_40, 1, Py_None);
__Pyx_GIVEREF(__pyx_t_41);
PyTuple_SET_ITEM(__pyx_t_40, 2, __pyx_t_41);
__Pyx_GIVEREF(__pyx_t_37);
PyTuple_SET_ITEM(__pyx_t_40, 3, __pyx_t_37);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_40, 4, Py_None);
__pyx_t_41 = 0;
__pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_filename, __pyx_n_s_str_2) < 0) __PYX_ERR(0, 578, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_arr, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 578, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_sample_type, __pyx_kp_s_Optional_sndlib_sample) < 0) __PYX_ERR(0, 578, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_header_type, __pyx_kp_s_Optional_sndlib_header) < 0) __PYX_ERR(0, 578, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_7ndarray2file, 0, __pyx_n_s_ndarray2file, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__108)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ndarray2file, __pyx_t_41) < 0) __PYX_ERR(0, 578, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(7, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_ndarray2file, 578, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) __PYX_ERR(0, 578, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_ndarray2file {
int __pyx_n;
PyObject *length;
PyObject *sr;
PyObject *sample_type;
PyObject *header_type;
PyObject *comment;
};
0579: """
0580: write an ndarray of samples to file
0581:
0582: :param filename: name of file
0583: :param arr: np.ndarray of samples
0584: :param length: length of samples to write. if None write all
0585: :param sr: sample rate of file to write
0586: :param sample_type: type of sample type to use. defaults to clm.sample_type
0587: :param header_type: header of sample type to use. defaults to clm.header_type
0588: :return: length in samples of file
0589: :rtype: int
0590:
0591:
0592: """
0593:
+0594: if not sr:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_sr); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 594, __pyx_L1_error) __pyx_t_2 = (!__pyx_t_1); if (__pyx_t_2) { /* … */ }
+0595: sr = CLM.srate
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CLM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_srate); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_sr, __pyx_t_4); __pyx_t_4 = 0;
0596:
+0597: chans = np.shape(arr)[0]
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_shape); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_arr}; __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_chans = __pyx_t_5; __pyx_t_5 = 0;
+0598: length = length or np.shape(arr)[1]
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_length); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 598, __pyx_L1_error) if (!__pyx_t_2) { } else { __Pyx_INCREF(__pyx_v_length); __pyx_t_5 = __pyx_v_length; goto __pyx_L4_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_shape); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_arr}; __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_INCREF(__pyx_t_7); __pyx_t_5 = __pyx_t_7; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_L4_bool_binop_done:; __Pyx_DECREF_SET(__pyx_v_length, __pyx_t_5); __pyx_t_5 = 0;
+0599: fd = csndlib.mus_sound_open_output(filename, int(sr), chans, sample_type, header_type, NULL)
__pyx_t_8 = __Pyx_PyObject_AsString(__pyx_v_filename); if (unlikely((!__pyx_t_8) && PyErr_Occurred())) __PYX_ERR(0, 599, __pyx_L1_error) __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_sr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 599, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 599, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_v_chans); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 599, __pyx_L1_error) __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_v_sample_type); if (unlikely((__pyx_t_10 == ((mus_sample_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 599, __pyx_L1_error) __pyx_t_11 = __Pyx_PyInt_As_mus_header_t(__pyx_v_header_type); if (unlikely((__pyx_t_11 == ((mus_header_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 599, __pyx_L1_error) __pyx_v_fd = mus_sound_open_output(__pyx_t_8, __pyx_t_6, __pyx_t_9, __pyx_t_10, __pyx_t_11, NULL);
0600:
+0601: cdef cclm.mus_float_t **obuf = <cclm.mus_float_t**>PyMem_Malloc(chans * sizeof(cclm.mus_float_t*))
__pyx_t_5 = __Pyx_PyInt_FromSize_t((sizeof(mus_float_t *))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 601, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = PyNumber_Multiply(__pyx_v_chans, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 601, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_12 = __Pyx_PyInt_As_size_t(__pyx_t_7); if (unlikely((__pyx_t_12 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 601, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_obuf = ((mus_float_t **)PyMem_Malloc(__pyx_t_12));
0602:
+0603: if not obuf:
__pyx_t_2 = (!(__pyx_v_obuf != 0));
if (unlikely(__pyx_t_2)) {
/* … */
}
+0604: raise MemoryError()
PyErr_NoMemory(); __PYX_ERR(0, 604, __pyx_L1_error)
0605:
+0606: cdef double [:] arr_view = arr[0]
__pyx_t_7 = __Pyx_GetItemInt(__pyx_v_arr, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_13 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_t_7, PyBUF_WRITABLE); if (unlikely(!__pyx_t_13.memview)) __PYX_ERR(0, 606, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_arr_view = __pyx_t_13; __pyx_t_13.memview = NULL; __pyx_t_13.data = NULL;
0607:
+0608: try:
/*try:*/ {
+0609: for i in range(chans):
__pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_v_chans); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 609, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_5 = __pyx_t_7; __Pyx_INCREF(__pyx_t_5); __pyx_t_14 = 0; __pyx_t_15 = NULL; } else { __pyx_t_14 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 609, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_15 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 609, __pyx_L8_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_15)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_14); __Pyx_INCREF(__pyx_t_7); __pyx_t_14++; if (unlikely((0 < 0))) __PYX_ERR(0, 609, __pyx_L8_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_5, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 609, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_14 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_14); __Pyx_INCREF(__pyx_t_7); __pyx_t_14++; if (unlikely((0 < 0))) __PYX_ERR(0, 609, __pyx_L8_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_5, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 609, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_15(__pyx_t_5); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 609, __pyx_L8_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; }
+0610: arr_view = arr[i]
__pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_arr, __pyx_v_i); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 610, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_13 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_t_7, PyBUF_WRITABLE); if (unlikely(!__pyx_t_13.memview)) __PYX_ERR(0, 610, __pyx_L8_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __PYX_XCLEAR_MEMVIEW(&__pyx_v_arr_view, 1); __pyx_v_arr_view = __pyx_t_13; __pyx_t_13.memview = NULL; __pyx_t_13.data = NULL;
+0611: obuf[i] = &arr_view[0]
__pyx_t_16 = 0;
__pyx_t_9 = -1;
if (__pyx_t_16 < 0) {
__pyx_t_16 += __pyx_v_arr_view.shape[0];
if (unlikely(__pyx_t_16 < 0)) __pyx_t_9 = 0;
} else if (unlikely(__pyx_t_16 >= __pyx_v_arr_view.shape[0])) __pyx_t_9 = 0;
if (unlikely(__pyx_t_9 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_9);
__PYX_ERR(0, 611, __pyx_L8_error)
}
__pyx_t_17 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_17 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 611, __pyx_L8_error)
(__pyx_v_obuf[__pyx_t_17]) = (&(*((double *) ( /* dim=0 */ (__pyx_v_arr_view.data + __pyx_t_16 * __pyx_v_arr_view.strides[0]) ))));
0612:
0613: finally:
+0614: err = csndlib.mus_file_write(fd, 0, length, chans, obuf)
/*finally:*/ {
/*normal exit:*/{
__pyx_t_18 = __Pyx_PyInt_As_mus_long_t(__pyx_v_length); if (unlikely((__pyx_t_18 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 614, __pyx_L1_error)
__pyx_t_9 = __Pyx_PyInt_As_int(__pyx_v_chans); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 614, __pyx_L1_error)
__pyx_v_err = mus_file_write(__pyx_v_fd, 0, __pyx_t_18, __pyx_t_9, __pyx_v_obuf);
/* … */
__pyx_t_18 = __Pyx_PyInt_As_mus_long_t(__pyx_v_length); if (unlikely((__pyx_t_18 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 614, __pyx_L14_error)
__pyx_t_26 = __Pyx_PyInt_As_int(__pyx_v_chans); if (unlikely((__pyx_t_26 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 614, __pyx_L14_error)
__pyx_v_err = mus_file_write(__pyx_v_fd, 0, __pyx_t_18, __pyx_t_26, __pyx_v_obuf);
+0615: csndlib.mus_sound_close_output(fd, length * csndlib.mus_bytes_per_sample(sample_type)*chans)
__pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_v_sample_type); if (unlikely((__pyx_t_10 == ((mus_sample_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 615, __pyx_L1_error) __pyx_t_5 = __Pyx_PyInt_From_int(mus_bytes_per_sample(__pyx_t_10)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 615, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = PyNumber_Multiply(__pyx_v_length, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 615, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Multiply(__pyx_t_7, __pyx_v_chans); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 615, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_18 = __Pyx_PyInt_As_mus_long_t(__pyx_t_5); if (unlikely((__pyx_t_18 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 615, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; (void)(mus_sound_close_output(__pyx_v_fd, __pyx_t_18)); /* … */ __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_v_sample_type); if (unlikely((__pyx_t_10 == ((mus_sample_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 615, __pyx_L14_error) __pyx_t_5 = __Pyx_PyInt_From_int(mus_bytes_per_sample(__pyx_t_10)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 615, __pyx_L14_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = PyNumber_Multiply(__pyx_v_length, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 615, __pyx_L14_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Multiply(__pyx_t_7, __pyx_v_chans); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 615, __pyx_L14_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_18 = __Pyx_PyInt_As_mus_long_t(__pyx_t_5); if (unlikely((__pyx_t_18 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 615, __pyx_L14_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; (void)(mus_sound_close_output(__pyx_v_fd, __pyx_t_18));
+0616: PyMem_Free(obuf)
PyMem_Free(__pyx_v_obuf); goto __pyx_L9; } __pyx_L8_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __PYX_XCLEAR_MEMVIEW(&__pyx_t_13, 1); __pyx_t_13.memview = NULL; __pyx_t_13.data = NULL; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_23, &__pyx_t_24, &__pyx_t_25); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22) < 0)) __Pyx_ErrFetch(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); __Pyx_XGOTREF(__pyx_t_20); __Pyx_XGOTREF(__pyx_t_21); __Pyx_XGOTREF(__pyx_t_22); __Pyx_XGOTREF(__pyx_t_23); __Pyx_XGOTREF(__pyx_t_24); __Pyx_XGOTREF(__pyx_t_25); __pyx_t_9 = __pyx_lineno; __pyx_t_6 = __pyx_clineno; __pyx_t_19 = __pyx_filename; { /* … */ PyMem_Free(__pyx_v_obuf); } if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_23); __Pyx_XGIVEREF(__pyx_t_24); __Pyx_XGIVEREF(__pyx_t_25); __Pyx_ExceptionReset(__pyx_t_23, __pyx_t_24, __pyx_t_25); } __Pyx_XGIVEREF(__pyx_t_20); __Pyx_XGIVEREF(__pyx_t_21); __Pyx_XGIVEREF(__pyx_t_22); __Pyx_ErrRestore(__pyx_t_20, __pyx_t_21, __pyx_t_22); __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_lineno = __pyx_t_9; __pyx_clineno = __pyx_t_6; __pyx_filename = __pyx_t_19; goto __pyx_L1_error; __pyx_L14_error:; if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_23); __Pyx_XGIVEREF(__pyx_t_24); __Pyx_XGIVEREF(__pyx_t_25); __Pyx_ExceptionReset(__pyx_t_23, __pyx_t_24, __pyx_t_25); } __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; goto __pyx_L1_error; } __pyx_L9:; }
0617:
+0618: return length
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_length); __pyx_r = __pyx_v_length; goto __pyx_L0;
0619:
0620: # --------------- with sound context manager ---------------- #
+0621: class Sound(object):
__pyx_tuple__109 = PyTuple_Pack(1, __pyx_builtin_object); if (unlikely(!__pyx_tuple__109)) __PYX_ERR(0, 621, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109); /* … */ __pyx_t_41 = __Pyx_PEP560_update_bases(__pyx_tuple__110); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_t_37 = __Pyx_CalculateMetaclass(NULL, __pyx_t_41); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __pyx_t_40 = __Pyx_Py3MetaclassPrepare(__pyx_t_37, __pyx_t_41, __pyx_n_s_Sound, __pyx_n_s_Sound, (PyObject *) NULL, __pyx_n_s_pysndlib_clm, (PyObject *) NULL); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); if (__pyx_t_41 != __pyx_tuple__110) { if (unlikely((PyDict_SetItemString(__pyx_t_40, "__orig_bases__", __pyx_tuple__110) < 0))) __PYX_ERR(0, 621, __pyx_L1_error) } __pyx_tuple__110 = PyTuple_Pack(1, __pyx_builtin_object); if (unlikely(!__pyx_tuple__110)) __PYX_ERR(0, 621, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__110); __Pyx_GIVEREF(__pyx_tuple__110); /* … */ __pyx_t_43 = __Pyx_Py3ClassCreate(__pyx_t_37, __pyx_n_s_Sound, __pyx_t_41, __pyx_t_40, NULL, 0, 0); if (unlikely(!__pyx_t_43)) __PYX_ERR(0, 621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_43); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Sound, __pyx_t_43) < 0) __PYX_ERR(0, 621, __pyx_L1_error) __Pyx_DECREF(__pyx_t_43); __pyx_t_43 = 0; __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0; __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0; __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
0622:
+0623: def __init__(self, output=None,
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_5Sound_1__init__(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_5Sound_1__init__ = {"__init__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_5Sound_1__init__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_5Sound_1__init__(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_output = 0;
PyObject *__pyx_v_channels = 0;
PyObject *__pyx_v_srate = 0;
PyObject *__pyx_v_sample_type = 0;
PyObject *__pyx_v_header_type = 0;
PyObject *__pyx_v_comment = 0;
PyObject *__pyx_v_verbose = 0;
PyObject *__pyx_v_reverb = 0;
PyObject *__pyx_v_revfile = 0;
PyObject *__pyx_v_reverb_data = 0;
PyObject *__pyx_v_reverb_channels = 0;
PyObject *__pyx_v_continue_old_file = 0;
PyObject *__pyx_v_statistics = 0;
PyObject *__pyx_v_scaled_to = 0;
PyObject *__pyx_v_scaled_by = 0;
PyObject *__pyx_v_play = 0;
PyObject *__pyx_v_clipped = 0;
PyObject *__pyx_v_finalize = 0;
PyObject *__pyx_v_ignore_output = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_output,&__pyx_n_s_channels,&__pyx_n_s_srate,&__pyx_n_s_sample_type,&__pyx_n_s_header_type,&__pyx_n_s_comment,&__pyx_n_s_verbose,&__pyx_n_s_reverb,&__pyx_n_s_revfile,&__pyx_n_s_reverb_data,&__pyx_n_s_reverb_channels,&__pyx_n_s_continue_old_file,&__pyx_n_s_statistics,&__pyx_n_s_scaled_to,&__pyx_n_s_scaled_by,&__pyx_n_s_play,&__pyx_n_s_clipped,&__pyx_n_s_finalize,&__pyx_n_s_ignore_output,0};
PyObject* values[20] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
values[1] = ((PyObject *)((PyObject *)Py_None));
/* … */
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_5Sound___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_output, PyObject *__pyx_v_channels, PyObject *__pyx_v_srate, PyObject *__pyx_v_sample_type, PyObject *__pyx_v_header_type, PyObject *__pyx_v_comment, PyObject *__pyx_v_verbose, PyObject *__pyx_v_reverb, PyObject *__pyx_v_revfile, PyObject *__pyx_v_reverb_data, PyObject *__pyx_v_reverb_channels, PyObject *__pyx_v_continue_old_file, PyObject *__pyx_v_statistics, PyObject *__pyx_v_scaled_to, PyObject *__pyx_v_scaled_by, PyObject *__pyx_v_play, PyObject *__pyx_v_clipped, PyObject *__pyx_v_finalize, PyObject *__pyx_v_ignore_output) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__init__", 0);
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.Sound.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__111 = PyTuple_Pack(20, __pyx_n_s_self, __pyx_n_s_output, __pyx_n_s_channels, __pyx_n_s_srate, __pyx_n_s_sample_type, __pyx_n_s_header_type, __pyx_n_s_comment, __pyx_n_s_verbose, __pyx_n_s_reverb, __pyx_n_s_revfile, __pyx_n_s_reverb_data, __pyx_n_s_reverb_channels, __pyx_n_s_continue_old_file, __pyx_n_s_statistics, __pyx_n_s_scaled_to, __pyx_n_s_scaled_by, __pyx_n_s_play, __pyx_n_s_clipped, __pyx_n_s_finalize, __pyx_n_s_ignore_output); if (unlikely(!__pyx_tuple__111)) __PYX_ERR(0, 623, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__111);
__Pyx_GIVEREF(__pyx_tuple__111);
__pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(20, 0, 0, 20, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_init, 623, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) __PYX_ERR(0, 623, __pyx_L1_error)
/* … */
__pyx_t_43 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_5Sound_1__init__, 0, __pyx_n_s_Sound___init, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__112)); if (unlikely(!__pyx_t_43)) __PYX_ERR(0, 623, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_43);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_43, __pyx_tuple__113);
if (__Pyx_SetNameInClass(__pyx_t_40, __pyx_n_s_init, __pyx_t_43) < 0) __PYX_ERR(0, 623, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_43); __pyx_t_43 = 0;
__pyx_tuple__113 = PyTuple_Pack(19, ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_False), ((PyObject *)Py_False), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_False), ((PyObject *)Py_None), ((PyObject *)Py_False), ((PyObject *)Py_False), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_False)); if (unlikely(!__pyx_tuple__113)) __PYX_ERR(0, 623, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__113);
__Pyx_GIVEREF(__pyx_tuple__113);
+0624: channels=None,
values[2] = ((PyObject *)((PyObject *)Py_None));
+0625: srate=None,
values[3] = ((PyObject *)((PyObject *)Py_None));
+0626: sample_type = None,
values[4] = ((PyObject *)((PyObject *)Py_None));
+0627: header_type = None,
values[5] = ((PyObject *)((PyObject *)Py_None));
+0628: comment = False,
values[6] = ((PyObject *)((PyObject *)Py_False));
+0629: verbose = False,
values[7] = ((PyObject *)((PyObject *)Py_False));
+0630: reverb = None,
values[8] = ((PyObject *)((PyObject *)Py_None));
+0631: revfile = None,
values[9] = ((PyObject *)((PyObject *)Py_None));
+0632: reverb_data = None,
values[10] = ((PyObject *)((PyObject *)Py_None));
+0633: reverb_channels = None,
values[11] = ((PyObject *)((PyObject *)Py_None));
+0634: continue_old_file = False,
values[12] = ((PyObject *)((PyObject *)Py_False));
+0635: statistics = None,
values[13] = ((PyObject *)((PyObject *)Py_None));
+0636: scaled_to = False,
values[14] = ((PyObject *)((PyObject *)Py_False));
+0637: scaled_by = False,
values[15] = ((PyObject *)((PyObject *)Py_False));
+0638: play = None,
values[16] = ((PyObject *)((PyObject *)Py_None));
+0639: clipped = None,
values[17] = ((PyObject *)((PyObject *)Py_None));
+0640: finalize = None,
values[18] = ((PyObject *)((PyObject *)Py_None));
+0641: ignore_output = False):
values[19] = ((PyObject *)((PyObject *)Py_False));
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 20: values[19] = __Pyx_Arg_FASTCALL(__pyx_args, 19);
CYTHON_FALLTHROUGH;
case 19: values[18] = __Pyx_Arg_FASTCALL(__pyx_args, 18);
CYTHON_FALLTHROUGH;
case 18: values[17] = __Pyx_Arg_FASTCALL(__pyx_args, 17);
CYTHON_FALLTHROUGH;
case 17: values[16] = __Pyx_Arg_FASTCALL(__pyx_args, 16);
CYTHON_FALLTHROUGH;
case 16: values[15] = __Pyx_Arg_FASTCALL(__pyx_args, 15);
CYTHON_FALLTHROUGH;
case 15: values[14] = __Pyx_Arg_FASTCALL(__pyx_args, 14);
CYTHON_FALLTHROUGH;
case 14: values[13] = __Pyx_Arg_FASTCALL(__pyx_args, 13);
CYTHON_FALLTHROUGH;
case 13: values[12] = __Pyx_Arg_FASTCALL(__pyx_args, 12);
CYTHON_FALLTHROUGH;
case 12: values[11] = __Pyx_Arg_FASTCALL(__pyx_args, 11);
CYTHON_FALLTHROUGH;
case 11: values[10] = __Pyx_Arg_FASTCALL(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = __Pyx_Arg_FASTCALL(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = __Pyx_Arg_FASTCALL(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = __Pyx_Arg_FASTCALL(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_output);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_channels);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srate);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_sample_type);
if (value) { values[4] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_header_type);
if (value) { values[5] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_comment);
if (value) { values[6] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 7:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_verbose);
if (value) { values[7] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 8:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_reverb);
if (value) { values[8] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 9:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_revfile);
if (value) { values[9] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 10:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_reverb_data);
if (value) { values[10] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 11:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_reverb_channels);
if (value) { values[11] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 12:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_continue_old_file);
if (value) { values[12] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 13:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_statistics);
if (value) { values[13] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 14:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_scaled_to);
if (value) { values[14] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 15:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_scaled_by);
if (value) { values[15] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 16:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_play);
if (value) { values[16] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 17:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_clipped);
if (value) { values[17] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 18:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_finalize);
if (value) { values[18] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 19:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ignore_output);
if (value) { values[19] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 623, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 20: values[19] = __Pyx_Arg_FASTCALL(__pyx_args, 19);
CYTHON_FALLTHROUGH;
case 19: values[18] = __Pyx_Arg_FASTCALL(__pyx_args, 18);
CYTHON_FALLTHROUGH;
case 18: values[17] = __Pyx_Arg_FASTCALL(__pyx_args, 17);
CYTHON_FALLTHROUGH;
case 17: values[16] = __Pyx_Arg_FASTCALL(__pyx_args, 16);
CYTHON_FALLTHROUGH;
case 16: values[15] = __Pyx_Arg_FASTCALL(__pyx_args, 15);
CYTHON_FALLTHROUGH;
case 15: values[14] = __Pyx_Arg_FASTCALL(__pyx_args, 14);
CYTHON_FALLTHROUGH;
case 14: values[13] = __Pyx_Arg_FASTCALL(__pyx_args, 13);
CYTHON_FALLTHROUGH;
case 13: values[12] = __Pyx_Arg_FASTCALL(__pyx_args, 12);
CYTHON_FALLTHROUGH;
case 12: values[11] = __Pyx_Arg_FASTCALL(__pyx_args, 11);
CYTHON_FALLTHROUGH;
case 11: values[10] = __Pyx_Arg_FASTCALL(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = __Pyx_Arg_FASTCALL(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = __Pyx_Arg_FASTCALL(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = __Pyx_Arg_FASTCALL(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_self = values[0];
__pyx_v_output = values[1];
__pyx_v_channels = values[2];
__pyx_v_srate = values[3];
__pyx_v_sample_type = values[4];
__pyx_v_header_type = values[5];
__pyx_v_comment = values[6];
__pyx_v_verbose = values[7];
__pyx_v_reverb = values[8];
__pyx_v_revfile = values[9];
__pyx_v_reverb_data = values[10];
__pyx_v_reverb_channels = values[11];
__pyx_v_continue_old_file = values[12];
__pyx_v_statistics = values[13];
__pyx_v_scaled_to = values[14];
__pyx_v_scaled_by = values[15];
__pyx_v_play = values[16];
__pyx_v_clipped = values[17];
__pyx_v_finalize = values[18];
__pyx_v_ignore_output = values[19];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 20, __pyx_nargs); __PYX_ERR(0, 623, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.Sound.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_5Sound___init__(__pyx_self, __pyx_v_self, __pyx_v_output, __pyx_v_channels, __pyx_v_srate, __pyx_v_sample_type, __pyx_v_header_type, __pyx_v_comment, __pyx_v_verbose, __pyx_v_reverb, __pyx_v_revfile, __pyx_v_reverb_data, __pyx_v_reverb_channels, __pyx_v_continue_old_file, __pyx_v_statistics, __pyx_v_scaled_to, __pyx_v_scaled_by, __pyx_v_play, __pyx_v_clipped, __pyx_v_finalize, __pyx_v_ignore_output);
+0642: self.output = output if output is not None else CLM.file_name
__pyx_t_2 = (__pyx_v_output != Py_None);
if (__pyx_t_2) {
__Pyx_INCREF(__pyx_v_output);
__pyx_t_1 = __pyx_v_output;
} else {
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CLM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 642, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_file_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 642, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_1 = __pyx_t_4;
__pyx_t_4 = 0;
}
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_output, __pyx_t_1) < 0) __PYX_ERR(0, 642, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0643: self.channels = channels if channels is not None else CLM.channels
__pyx_t_2 = (__pyx_v_channels != Py_None);
if (__pyx_t_2) {
__Pyx_INCREF(__pyx_v_channels);
__pyx_t_1 = __pyx_v_channels;
} else {
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CLM); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 643, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_channels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 643, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_1 = __pyx_t_3;
__pyx_t_3 = 0;
}
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_channels, __pyx_t_1) < 0) __PYX_ERR(0, 643, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0644: self.srate = srate if srate is not None else CLM.srate
__pyx_t_2 = (__pyx_v_srate != Py_None);
if (__pyx_t_2) {
__Pyx_INCREF(__pyx_v_srate);
__pyx_t_1 = __pyx_v_srate;
} else {
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CLM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_srate); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_1 = __pyx_t_4;
__pyx_t_4 = 0;
}
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_srate, __pyx_t_1) < 0) __PYX_ERR(0, 644, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0645: self.sample_type = sample_type if sample_type is not None else CLM.sample_type
__pyx_t_2 = (__pyx_v_sample_type != Py_None);
if (__pyx_t_2) {
__Pyx_INCREF(__pyx_v_sample_type);
__pyx_t_1 = __pyx_v_sample_type;
} else {
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CLM); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 645, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_sample_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 645, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_1 = __pyx_t_3;
__pyx_t_3 = 0;
}
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_sample_type, __pyx_t_1) < 0) __PYX_ERR(0, 645, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0646: self.header_type = header_type if header_type is not None else CLM.header_type
__pyx_t_2 = (__pyx_v_header_type != Py_None);
if (__pyx_t_2) {
__Pyx_INCREF(__pyx_v_header_type);
__pyx_t_1 = __pyx_v_header_type;
} else {
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CLM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 646, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_header_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 646, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_1 = __pyx_t_4;
__pyx_t_4 = 0;
}
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_header_type, __pyx_t_1) < 0) __PYX_ERR(0, 646, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0647: self.comment = comment
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_comment, __pyx_v_comment) < 0) __PYX_ERR(0, 647, __pyx_L1_error)
+0648: self.verbose = verbose if verbose is not None else CLM.verbose
__pyx_t_2 = (__pyx_v_verbose != Py_None);
if (__pyx_t_2) {
__Pyx_INCREF(__pyx_v_verbose);
__pyx_t_1 = __pyx_v_verbose;
} else {
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CLM); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 648, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_verbose); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 648, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_1 = __pyx_t_3;
__pyx_t_3 = 0;
}
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_verbose, __pyx_t_1) < 0) __PYX_ERR(0, 648, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0649: self.reverb = reverb
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_reverb, __pyx_v_reverb) < 0) __PYX_ERR(0, 649, __pyx_L1_error)
+0650: self.revfile = revfile if revfile is not None else CLM.reverb_file_name
__pyx_t_2 = (__pyx_v_revfile != Py_None);
if (__pyx_t_2) {
__Pyx_INCREF(__pyx_v_revfile);
__pyx_t_1 = __pyx_v_revfile;
} else {
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CLM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 650, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_reverb_file_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 650, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_1 = __pyx_t_4;
__pyx_t_4 = 0;
}
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_revfile, __pyx_t_1) < 0) __PYX_ERR(0, 650, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0651: self.reverb_data = reverb_data if reverb_data is not None else CLM.reverb_data
__pyx_t_2 = (__pyx_v_reverb_data != Py_None);
if (__pyx_t_2) {
__Pyx_INCREF(__pyx_v_reverb_data);
__pyx_t_1 = __pyx_v_reverb_data;
} else {
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CLM); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 651, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_reverb_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 651, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_1 = __pyx_t_3;
__pyx_t_3 = 0;
}
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_reverb_data, __pyx_t_1) < 0) __PYX_ERR(0, 651, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0652: self.reverb_channels = reverb_channels if reverb_channels is not None else CLM.reverb_channels
__pyx_t_2 = (__pyx_v_reverb_channels != Py_None);
if (__pyx_t_2) {
__Pyx_INCREF(__pyx_v_reverb_channels);
__pyx_t_1 = __pyx_v_reverb_channels;
} else {
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CLM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 652, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_reverb_channels); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 652, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_1 = __pyx_t_4;
__pyx_t_4 = 0;
}
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_reverb_channels, __pyx_t_1) < 0) __PYX_ERR(0, 652, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0653: self.continue_old_file = continue_old_file
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_continue_old_file, __pyx_v_continue_old_file) < 0) __PYX_ERR(0, 653, __pyx_L1_error)
+0654: self.statistics = statistics if statistics is not None else CLM.statistics
__pyx_t_2 = (__pyx_v_statistics != Py_None);
if (__pyx_t_2) {
__Pyx_INCREF(__pyx_v_statistics);
__pyx_t_1 = __pyx_v_statistics;
} else {
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CLM); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 654, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_statistics); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 654, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_1 = __pyx_t_3;
__pyx_t_3 = 0;
}
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_statistics, __pyx_t_1) < 0) __PYX_ERR(0, 654, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0655: self.scaled_to = scaled_to
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_scaled_to, __pyx_v_scaled_to) < 0) __PYX_ERR(0, 655, __pyx_L1_error)
+0656: self.scaled_by = scaled_by
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_scaled_by, __pyx_v_scaled_by) < 0) __PYX_ERR(0, 656, __pyx_L1_error)
+0657: self.play = play if play is not None else CLM.play
__pyx_t_2 = (__pyx_v_play != Py_None);
if (__pyx_t_2) {
__Pyx_INCREF(__pyx_v_play);
__pyx_t_1 = __pyx_v_play;
} else {
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CLM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 657, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_play); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 657, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_1 = __pyx_t_4;
__pyx_t_4 = 0;
}
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_play, __pyx_t_1) < 0) __PYX_ERR(0, 657, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0658: self.clipped = clipped if clipped is not None else CLM.clipped
__pyx_t_2 = (__pyx_v_clipped != Py_None);
if (__pyx_t_2) {
__Pyx_INCREF(__pyx_v_clipped);
__pyx_t_1 = __pyx_v_clipped;
} else {
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CLM); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 658, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_clipped); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 658, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_1 = __pyx_t_3;
__pyx_t_3 = 0;
}
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_clipped, __pyx_t_1) < 0) __PYX_ERR(0, 658, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0659: self.ignore_output = ignore_output
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_ignore_output, __pyx_v_ignore_output) < 0) __PYX_ERR(0, 659, __pyx_L1_error)
+0660: self.output_to_file = isinstance(self.output, str)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 660, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyString_Check(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 660, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_output_to_file, __pyx_t_1) < 0) __PYX_ERR(0, 660, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0661: self.reverb_to_file = self.reverb is not None and isinstance(self.output, str)
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reverb); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = (__pyx_t_3 != Py_None); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_2) { } else { __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L3_bool_binop_done; } __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyString_Check(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __pyx_t_3; __pyx_t_3 = 0; __pyx_L3_bool_binop_done:; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_reverb_to_file, __pyx_t_1) < 0) __PYX_ERR(0, 661, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0662: self.old_srate = get_srate()
__pyx_t_5 = __pyx_f_8pysndlib_3clm_get_srate(0); if (unlikely(__pyx_t_5 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 662, __pyx_L1_error) __pyx_t_1 = PyFloat_FromDouble(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 662, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_old_srate, __pyx_t_1) < 0) __PYX_ERR(0, 662, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0663: self.finalize = finalize
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_finalize, __pyx_v_finalize) < 0) __PYX_ERR(0, 663, __pyx_L1_error)
0664:
+0665: def __enter__(self):
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_5Sound_3__enter__(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_5Sound_3__enter__ = {"__enter__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_5Sound_3__enter__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_5Sound_3__enter__(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_self = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__enter__ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 665, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__enter__") < 0)) __PYX_ERR(0, 665, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_self = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__enter__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 665, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.Sound.__enter__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_5Sound_2__enter__(__pyx_self, __pyx_v_self);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_5Sound_2__enter__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__enter__", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_XDECREF(__pyx_t_16);
__Pyx_AddTraceback("pysndlib.clm.Sound.__enter__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_43 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_5Sound_3__enter__, 0, __pyx_n_s_Sound___enter, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__114)); if (unlikely(!__pyx_t_43)) __PYX_ERR(0, 665, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_43);
if (__Pyx_SetNameInClass(__pyx_t_40, __pyx_n_s_enter, __pyx_t_43) < 0) __PYX_ERR(0, 665, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_43); __pyx_t_43 = 0;
/* … */
__pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_enter, 665, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) __PYX_ERR(0, 665, __pyx_L1_error)
0666:
+0667: if not self.clipped:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_clipped); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 667, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = (!__pyx_t_2); if (__pyx_t_3) { /* … */ goto __pyx_L3; }
+0668: if (self.scaled_by or self.scaled_to) and (self.sample_type in [sample.bfloat, sample.lfloat, sample.bdouble, sample.ldouble]):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_scaled_by); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!__pyx_t_2) { } else { goto __pyx_L6_next_and; } __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_scaled_to); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { } else { __pyx_t_3 = __pyx_t_2; goto __pyx_L5_bool_binop_done; } __pyx_L6_next_and:; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sample_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_sample); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_bfloat); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) { } else { __pyx_t_2 = __pyx_t_6; goto __pyx_L8_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_sample); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_lfloat); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) { } else { __pyx_t_2 = __pyx_t_6; goto __pyx_L8_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_sample); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_bdouble); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) { } else { __pyx_t_2 = __pyx_t_6; goto __pyx_L8_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_sample); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ldouble); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_2 = __pyx_t_6; __pyx_L8_bool_binop_done:; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = __pyx_t_2; __pyx_t_3 = __pyx_t_6; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { /* … */ goto __pyx_L4; }
+0669: csndlib.mus_set_clipping(False)
(void)(mus_set_clipping(0));
0670: else:
+0671: csndlib.mus_set_clipping(CLM.clipped)
/*else*/ {
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_CLM); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 671, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_clipped); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 671, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 671, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
(void)(mus_set_clipping(__pyx_t_3));
}
__pyx_L4:;
0672: else:
+0673: csndlib.mus_set_clipping(self.clipped)
/*else*/ {
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_clipped); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 673, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 673, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
(void)(mus_set_clipping(__pyx_t_3));
}
__pyx_L3:;
0674:
+0675: set_srate(self.srate)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_srate); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 675, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_8 = __pyx_f_8pysndlib_3clm_set_srate(__pyx_t_7, 0); if (unlikely(__pyx_t_8 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 675, __pyx_L1_error)
0676:
0677: # in original why use reverb-1?
+0678: if self.statistics :
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_statistics); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 678, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_3) { /* … */ }
+0679: self.tic = time.perf_counter()
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_time); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 679, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_perf_counter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 679, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; __pyx_t_9 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_9 = 1; } } { PyObject *__pyx_callargs[1] = {__pyx_t_1, }; __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 679, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_tic, __pyx_t_4) < 0) __PYX_ERR(0, 679, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
0680:
+0681: if self.output_to_file :
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output_to_file); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 681, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L13; }
+0682: if self.continue_old_file:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_continue_old_file); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 682, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L14; }
+0683: CLM.output = continue_sample2file(self.filename)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_filename); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 683, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (!(likely(PyString_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_4))) __PYX_ERR(0, 683, __pyx_L1_error) __pyx_t_5 = ((PyObject *)__pyx_f_8pysndlib_3clm_continue_sample2file(((PyObject*)__pyx_t_4), 0)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 683, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CLM); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 683, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__Pyx_PyObject_SetAttrStr(__pyx_t_4, __pyx_n_s_output, __pyx_t_5) < 0) __PYX_ERR(0, 683, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+0684: set_srate(csndlib.mus_sound_srate(self.filename)) # maybe print warning or at least note
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_filename); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_10 = __Pyx_PyObject_AsString(__pyx_t_4); if (unlikely((!__pyx_t_10) && PyErr_Occurred())) __PYX_ERR(0, 684, __pyx_L1_error) __pyx_t_8 = __pyx_f_8pysndlib_3clm_set_srate(mus_sound_srate(__pyx_t_10), 0); if (unlikely(__pyx_t_8 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 684, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
0685: else:
+0686: CLM.output = make_sample2file(self.output,self.channels, sample_type=self.sample_type , header_type=self.header_type)
/*else*/ {
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 686, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_channels); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 686, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sample_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 686, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_header_type); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 686, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_13.__pyx_n = 3;
__pyx_t_13.chans = __pyx_t_5;
__pyx_t_13.sample_type = __pyx_t_1;
__pyx_t_13.header_type = __pyx_t_11;
__pyx_t_12 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_sample2file(__pyx_t_4, 0, &__pyx_t_13)); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 686, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_CLM); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 686, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
if (__Pyx_PyObject_SetAttrStr(__pyx_t_11, __pyx_n_s_output, __pyx_t_12) < 0) __PYX_ERR(0, 686, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
}
__pyx_L14:;
+0687: elif is_list_or_ndarray(self.output):
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = __pyx_f_8pysndlib_3clm_is_list_or_ndarray(__pyx_t_11, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 687, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (likely(__pyx_t_3)) { /* … */ goto __pyx_L13; }
+0688: CLM.output = self.output
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 688, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_CLM); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 688, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (__Pyx_PyObject_SetAttrStr(__pyx_t_11, __pyx_n_s_output, __pyx_t_12) < 0) __PYX_ERR(0, 688, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
0689: else:
+0690: raise TypeError(f"writing to {type(self.output)} not supported")
/*else*/ {
__pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 690, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_14 = 0;
__pyx_t_15 = 127;
__Pyx_INCREF(__pyx_kp_u_writing_to);
__pyx_t_14 += 12;
__Pyx_GIVEREF(__pyx_kp_u_writing_to);
PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_kp_u_writing_to);
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 690, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__pyx_t_1 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_t_12)), __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 690, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__pyx_t_15 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_15) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_15;
__pyx_t_14 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_1);
__pyx_t_1 = 0;
__Pyx_INCREF(__pyx_kp_u_not_supported);
__pyx_t_14 += 14;
__Pyx_GIVEREF(__pyx_kp_u_not_supported);
PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_kp_u_not_supported);
__pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_11, 3, __pyx_t_14, __pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 690, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 690, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_Raise(__pyx_t_11, 0, 0, 0);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__PYX_ERR(0, 690, __pyx_L1_error)
}
__pyx_L13:;
0691:
+0692: if self.reverb_to_file:
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reverb_to_file); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 692, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 692, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_3) { /* … */ }
+0693: if self.continue_old_file:
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_continue_old_file); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 693, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L16; }
+0694: CLM.reverb = continue_sample2file(self.revfile)
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_revfile); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 694, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (!(likely(PyString_CheckExact(__pyx_t_11))||((__pyx_t_11) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_11))) __PYX_ERR(0, 694, __pyx_L1_error) __pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_continue_sample2file(((PyObject*)__pyx_t_11), 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 694, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_CLM); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 694, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (__Pyx_PyObject_SetAttrStr(__pyx_t_11, __pyx_n_s_reverb, __pyx_t_1) < 0) __PYX_ERR(0, 694, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
0695: else:
+0696: CLM.reverb = make_sample2file(self.revfile,self.reverb_channels, sample_type=self.sample_type , header_type=self.header_type)
/*else*/ {
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_revfile); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 696, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reverb_channels); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 696, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sample_type); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 696, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_header_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 696, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_13.__pyx_n = 3;
__pyx_t_13.chans = __pyx_t_1;
__pyx_t_13.sample_type = __pyx_t_12;
__pyx_t_13.header_type = __pyx_t_5;
__pyx_t_4 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_sample2file(__pyx_t_11, 0, &__pyx_t_13)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 696, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CLM); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 696, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__Pyx_PyObject_SetAttrStr(__pyx_t_5, __pyx_n_s_reverb, __pyx_t_4) < 0) __PYX_ERR(0, 696, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__pyx_L16:;
0697:
+0698: if self.reverb and not self.reverb_to_file and is_list_or_ndarray(self.output):
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reverb); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 698, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_6) { } else { __pyx_t_3 = __pyx_t_6; goto __pyx_L18_bool_binop_done; } __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reverb_to_file); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 698, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_2 = (!__pyx_t_6); if (__pyx_t_2) { } else { __pyx_t_3 = __pyx_t_2; goto __pyx_L18_bool_binop_done; } __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __pyx_f_8pysndlib_3clm_is_list_or_ndarray(__pyx_t_5, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 698, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_3 = __pyx_t_2; __pyx_L18_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+0699: CLM.reverb = np.zeros((self.reverb_channels, np.shape(CLM.output)[1]), dtype=CLM.output.dtype)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_zeros); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reverb_channels); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_shape); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_CLM); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_output); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; __pyx_t_9 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); __pyx_t_9 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_16}; __pyx_t_12 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } __pyx_t_11 = __Pyx_GetItemInt(__pyx_t_12, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_11); __pyx_t_4 = 0; __pyx_t_11 = 0; __pyx_t_11 = PyTuple_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CLM); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_output); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_dtype); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_dtype, __pyx_t_4) < 0) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_CLM); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (__Pyx_PyObject_SetAttrStr(__pyx_t_12, __pyx_n_s_reverb, __pyx_t_4) < 0) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
0700:
+0701: return self
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_self); __pyx_r = __pyx_v_self; goto __pyx_L0;
0702:
+0703: def __exit__(self, *args):
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_5Sound_5__exit__(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_5Sound_5__exit__ = {"__exit__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_5Sound_5__exit__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_5Sound_5__exit__(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_self = 0;
CYTHON_UNUSED PyObject *__pyx_v_args = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__exit__ (wrapper)", 0);
__pyx_v_args = __Pyx_ArgsSlice_FASTCALL(__pyx_args, 1, __pyx_nargs);
if (unlikely(!__pyx_v_args)) {
__Pyx_RefNannyFinishContext();
return NULL;
}
__Pyx_GOTREF(__pyx_v_args);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
default:
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 703, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
const Py_ssize_t used_pos_args = (kwd_pos_args < 1) ? kwd_pos_args : 1;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, used_pos_args, "__exit__") < 0)) __PYX_ERR(0, 703, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs < 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_self = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__exit__", 0, 1, 1, __pyx_nargs); __PYX_ERR(0, 703, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
__Pyx_AddTraceback("pysndlib.clm.Sound.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_5Sound_4__exit__(__pyx_self, __pyx_v_self, __pyx_v_args);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_DECREF(__pyx_v_args);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_5Sound_4__exit__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args) {
__Pyx_memviewslice __pyx_v_vals_view = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_times_view = { 0, 0, { 0 }, { 0 }, { 0 } };
PyObject *__pyx_v_toc = NULL;
PyObject *__pyx_v_statstr = NULL;
PyObject *__pyx_v_chans = NULL;
PyObject *__pyx_v_vals = NULL;
PyObject *__pyx_v_times = NULL;
CYTHON_UNUSED mus_long_t __pyx_v_maxamp;
PyObject *__pyx_v_i = NULL;
PyObject *__pyx_v_mabs = NULL;
PyObject *__pyx_v_arr = NULL;
CYTHON_UNUSED PyObject *__pyx_v__ = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__exit__", 0);
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_2, 1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_20);
__Pyx_XDECREF(__pyx_t_21);
__Pyx_XDECREF(__pyx_t_22);
__Pyx_AddTraceback("pysndlib.clm.Sound.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_vals_view, 1);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_times_view, 1);
__Pyx_XDECREF(__pyx_v_toc);
__Pyx_XDECREF(__pyx_v_statstr);
__Pyx_XDECREF(__pyx_v_chans);
__Pyx_XDECREF(__pyx_v_vals);
__Pyx_XDECREF(__pyx_v_times);
__Pyx_XDECREF(__pyx_v_i);
__Pyx_XDECREF(__pyx_v_mabs);
__Pyx_XDECREF(__pyx_v_arr);
__Pyx_XDECREF(__pyx_v__);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__116 = PyTuple_Pack(14, __pyx_n_s_self, __pyx_n_s_args, __pyx_n_s_vals_view, __pyx_n_s_times_view, __pyx_n_s_toc, __pyx_n_s_statstr, __pyx_n_s_chans, __pyx_n_s_vals, __pyx_n_s_times, __pyx_n_s_maxamp_3, __pyx_n_s_i, __pyx_n_s_mabs, __pyx_n_s_arr, __pyx_n_s__115); if (unlikely(!__pyx_tuple__116)) __PYX_ERR(0, 703, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__116);
__Pyx_GIVEREF(__pyx_tuple__116);
/* … */
__pyx_t_43 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_5Sound_5__exit__, 0, __pyx_n_s_Sound___exit, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__117)); if (unlikely(!__pyx_t_43)) __PYX_ERR(0, 703, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_43);
if (__Pyx_SetNameInClass(__pyx_t_40, __pyx_n_s_exit, __pyx_t_43) < 0) __PYX_ERR(0, 703, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_43); __pyx_t_43 = 0;
__pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_exit, 703, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) __PYX_ERR(0, 703, __pyx_L1_error)
+0704: cdef cclm.mus_float_t [:] vals_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn_mus_float_t(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 704, __pyx_L1_error) __pyx_v_vals_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
+0705: cdef cclm.mus_long_t [:] times_view = None
__pyx_t_2 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn_mus_long_t(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_2.memview)) __PYX_ERR(0, 705, __pyx_L1_error) __pyx_v_times_view = __pyx_t_2; __pyx_t_2.memview = NULL; __pyx_t_2.data = NULL;
+0706: if self.reverb:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reverb); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 706, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 706, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_4) { /* … */ }
+0707: if self.reverb_to_file:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reverb_to_file); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 707, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 707, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_4) { /* … */ }
+0708: mus_close(CLM.reverb)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CLM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 708, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_reverb); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 708, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_8pysndlib_3clm_mus_any))))) __PYX_ERR(0, 708, __pyx_L1_error) __pyx_t_6 = __pyx_f_8pysndlib_3clm_mus_close(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_5), 0); if (unlikely(__pyx_t_6 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 708, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0709: CLM.reverb = make_file2sample(self.revfile)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_revfile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 709, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_file2sample(__pyx_t_5, 0, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 709, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CLM); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 709, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__Pyx_PyObject_SetAttrStr(__pyx_t_5, __pyx_n_s_reverb, __pyx_t_3) < 0) __PYX_ERR(0, 709, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
0710:
+0711: if self.reverb_data:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reverb_data); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 711, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 711, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L5; }
+0712: self.reverb(**self.reverb_data)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reverb); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reverb_data); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(__pyx_t_7 == Py_None)) { PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType"); __PYX_ERR(0, 712, __pyx_L1_error) } if (likely(PyDict_CheckExact(__pyx_t_7))) { __pyx_t_3 = PyDict_Copy(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else { __pyx_t_3 = __Pyx_PyObject_CallOneArg((PyObject*)&PyDict_Type, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
0713: else:
+0714: self.reverb()
/*else*/ {
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reverb); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 714, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = NULL;
__pyx_t_6 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_6 = 1;
}
}
{
PyObject *__pyx_callargs[1] = {__pyx_t_5, };
__pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 714, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
__pyx_L5:;
+0715: mus_close(CLM.reverb)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CLM); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 715, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_reverb); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 715, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_8pysndlib_3clm_mus_any))))) __PYX_ERR(0, 715, __pyx_L1_error) __pyx_t_6 = __pyx_f_8pysndlib_3clm_mus_close(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_3), 0); if (unlikely(__pyx_t_6 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 715, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
0716:
+0717: if is_list_or_ndarray(CLM.reverb):
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CLM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 717, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_reverb); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 717, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_f_8pysndlib_3clm_is_list_or_ndarray(__pyx_t_7, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 717, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 717, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_4) { /* … */ }
+0718: if self.reverb_data:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reverb_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 718, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L7; }
+0719: self.reverb(**self.reverb_data)
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reverb); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reverb_data); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(__pyx_t_5 == Py_None)) { PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType"); __PYX_ERR(0, 719, __pyx_L1_error) } if (likely(PyDict_CheckExact(__pyx_t_5))) { __pyx_t_7 = PyDict_Copy(__pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { __pyx_t_7 = __Pyx_PyObject_CallOneArg((PyObject*)&PyDict_Type, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
0720: else:
+0721: self.reverb()
/*else*/ {
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reverb); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 721, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_3 = NULL;
__pyx_t_6 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_7, function);
__pyx_t_6 = 1;
}
}
{
PyObject *__pyx_callargs[1] = {__pyx_t_3, };
__pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 721, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__pyx_L7:;
0722:
+0723: if self.output_to_file:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output_to_file); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 723, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_4) { /* … */ }
+0724: mus_close(CLM.output)
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CLM); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 724, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_output); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 724, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_8pysndlib_3clm_mus_any))))) __PYX_ERR(0, 724, __pyx_L1_error) __pyx_t_6 = __pyx_f_8pysndlib_3clm_mus_close(((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_7), 0); if (unlikely(__pyx_t_6 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 724, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
0725:
0726:
+0727: if self.statistics :
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_statistics); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 727, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 727, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_4) { /* … */ }
+0728: toc = time.perf_counter()
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_time); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_perf_counter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[1] = {__pyx_t_5, }; __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_toc = __pyx_t_7; __pyx_t_7 = 0;
0729:
+0730: statstr = ''
__Pyx_INCREF(__pyx_kp_s_);
__pyx_v_statstr = __pyx_kp_s_;
+0731: if isinstance(self.output, str):
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 731, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = PyString_Check(__pyx_t_7); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_4) { /* … */ }
+0732: statstr = f"{self.output}: "
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 732, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_7, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 732, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_kp_u__4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 732, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_statstr, __pyx_t_7); __pyx_t_7 = 0;
+0733: if self.output_to_file:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output_to_file); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 733, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 733, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L11; }
+0734: chans = clm_channels(self.output)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_clm_channels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 734, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 734, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_5}; __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 734, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_chans = __pyx_t_7; __pyx_t_7 = 0;
+0735: vals = np.zeros(chans, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_v_chans); __Pyx_GIVEREF(__pyx_v_chans); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_chans); __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_double); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_9) < 0) __PYX_ERR(0, 735, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_vals = __pyx_t_9; __pyx_t_9 = 0;
+0736: times = np.zeros(chans, dtype=np.int64)
__Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_zeros); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(__pyx_v_chans); __Pyx_GIVEREF(__pyx_v_chans); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_v_chans); __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_int64); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_dtype, __pyx_t_8) < 0) __PYX_ERR(0, 736, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_times = __pyx_t_8; __pyx_t_8 = 0;
+0737: vals_view = vals
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn_mus_float_t(__pyx_v_vals, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 737, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_vals_view, 1); __pyx_v_vals_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
+0738: times_view = times
__pyx_t_2 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn_mus_long_t(__pyx_v_times, PyBUF_WRITABLE); if (unlikely(!__pyx_t_2.memview)) __PYX_ERR(0, 738, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_times_view, 1); __pyx_v_times_view = __pyx_t_2; __pyx_t_2.memview = NULL; __pyx_t_2.data = NULL;
+0739: maxamp = csndlib.mus_sound_maxamps(self.output, chans, &vals_view[0], ×_view[0])
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 739, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_10 = __Pyx_PyObject_AsString(__pyx_t_8); if (unlikely((!__pyx_t_10) && PyErr_Occurred())) __PYX_ERR(0, 739, __pyx_L1_error) __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_v_chans); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 739, __pyx_L1_error) __pyx_t_11 = 0; __pyx_t_12 = -1; if (__pyx_t_11 < 0) { __pyx_t_11 += __pyx_v_vals_view.shape[0]; if (unlikely(__pyx_t_11 < 0)) __pyx_t_12 = 0; } else if (unlikely(__pyx_t_11 >= __pyx_v_vals_view.shape[0])) __pyx_t_12 = 0; if (unlikely(__pyx_t_12 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_12); __PYX_ERR(0, 739, __pyx_L1_error) } __pyx_t_13 = 0; __pyx_t_12 = -1; if (__pyx_t_13 < 0) { __pyx_t_13 += __pyx_v_times_view.shape[0]; if (unlikely(__pyx_t_13 < 0)) __pyx_t_12 = 0; } else if (unlikely(__pyx_t_13 >= __pyx_v_times_view.shape[0])) __pyx_t_12 = 0; if (unlikely(__pyx_t_12 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_12); __PYX_ERR(0, 739, __pyx_L1_error) } __pyx_v_maxamp = mus_sound_maxamps(__pyx_t_10, __pyx_t_6, (&(*((mus_float_t *) ( /* dim=0 */ (__pyx_v_vals_view.data + __pyx_t_11 * __pyx_v_vals_view.strides[0]) )))), (&(*((mus_long_t *) ( /* dim=0 */ (__pyx_v_times_view.data + __pyx_t_13 * __pyx_v_times_view.strides[0]) ))))); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0740: statstr += f": maxamp: {vals} {times} "
__pyx_t_8 = PyTuple_New(5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 740, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_14 = 0; __pyx_t_15 = 127; __Pyx_INCREF(__pyx_kp_u_maxamp); __pyx_t_14 += 10; __Pyx_GIVEREF(__pyx_kp_u_maxamp); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_maxamp); __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_v_vals, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 740, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_15 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) > __pyx_t_15) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) : __pyx_t_15; __pyx_t_14 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7); __pyx_t_7 = 0; __Pyx_INCREF(__pyx_kp_u__15); __pyx_t_14 += 1; __Pyx_GIVEREF(__pyx_kp_u__15); PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_kp_u__15); __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_v_times, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 740, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_15 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) > __pyx_t_15) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) : __pyx_t_15; __pyx_t_14 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 3, __pyx_t_7); __pyx_t_7 = 0; __Pyx_INCREF(__pyx_kp_u__15); __pyx_t_14 += 1; __Pyx_GIVEREF(__pyx_kp_u__15); PyTuple_SET_ITEM(__pyx_t_8, 4, __pyx_kp_u__15); __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_8, 5, __pyx_t_14, __pyx_t_15); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 740, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_statstr, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 740, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF_SET(__pyx_v_statstr, __pyx_t_8); __pyx_t_8 = 0;
0741: else:
+0742: chans = clm_channels(self.output)
/*else*/ {
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_clm_channels); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 742, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 742, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_5 = NULL;
__pyx_t_6 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_7, function);
__pyx_t_6 = 1;
}
}
{
PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_9};
__pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 742, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
__pyx_v_chans = __pyx_t_8;
__pyx_t_8 = 0;
+0743: vals = np.zeros(chans, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_zeros); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(__pyx_v_chans); __Pyx_GIVEREF(__pyx_v_chans); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_chans); __pyx_t_9 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_double); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_dtype, __pyx_t_3) < 0) __PYX_ERR(0, 743, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_v_vals = __pyx_t_3; __pyx_t_3 = 0;
+0744: times = np.zeros(chans, dtype=np.int64)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_chans); __Pyx_GIVEREF(__pyx_v_chans); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_chans); __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_int64); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 744, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_times = __pyx_t_5; __pyx_t_5 = 0;
+0745: for i in range(chans):
__pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_v_chans); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_8 = __pyx_t_5; __Pyx_INCREF(__pyx_t_8); __pyx_t_14 = 0; __pyx_t_16 = NULL; } else { __pyx_t_14 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_16 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 745, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_16)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_14); __Pyx_INCREF(__pyx_t_5); __pyx_t_14++; if (unlikely((0 < 0))) __PYX_ERR(0, 745, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_8, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_14 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_14); __Pyx_INCREF(__pyx_t_5); __pyx_t_14++; if (unlikely((0 < 0))) __PYX_ERR(0, 745, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_8, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_16(__pyx_t_8); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 745, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0746: mabs = np.abs(self.output[i])
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 746, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_abs); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 746, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 746, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_i); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 746, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 746, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } __Pyx_XDECREF_SET(__pyx_v_mabs, __pyx_t_5); __pyx_t_5 = 0;
+0747: vals[i] = np.amax(mabs)
__Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_amax); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_v_mabs}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } if (unlikely((PyObject_SetItem(__pyx_v_vals, __pyx_v_i, __pyx_t_5) < 0))) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0748: times[i] = np.argmax(mabs)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_argmax); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_mabs}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } if (unlikely((PyObject_SetItem(__pyx_v_times, __pyx_v_i, __pyx_t_5) < 0))) __PYX_ERR(0, 748, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0749: statstr += f"maxamp: {vals} {times} "
__pyx_t_8 = PyTuple_New(5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_14 = 0; __pyx_t_15 = 127; __Pyx_INCREF(__pyx_kp_u_maxamp_2); __pyx_t_14 += 8; __Pyx_GIVEREF(__pyx_kp_u_maxamp_2); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_maxamp_2); __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_v_vals, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_15 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_15) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_15; __pyx_t_14 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_5); __pyx_t_5 = 0; __Pyx_INCREF(__pyx_kp_u__15); __pyx_t_14 += 1; __Pyx_GIVEREF(__pyx_kp_u__15); PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_kp_u__15); __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_v_times, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_15 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_15) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_15; __pyx_t_14 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 3, __pyx_t_5); __pyx_t_5 = 0; __Pyx_INCREF(__pyx_kp_u__15); __pyx_t_14 += 1; __Pyx_GIVEREF(__pyx_kp_u__15); PyTuple_SET_ITEM(__pyx_t_8, 4, __pyx_kp_u__15); __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_8, 5, __pyx_t_14, __pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_statstr, __pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_statstr, __pyx_t_8); __pyx_t_8 = 0; } __pyx_L11:;
0750:
0751:
+0752: if self.scaled_by or self.scaled_to:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_scaled_by); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_17 < 0))) __PYX_ERR(0, 752, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (!__pyx_t_17) { } else { __pyx_t_4 = __pyx_t_17; goto __pyx_L16_bool_binop_done; } __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_scaled_to); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_17 < 0))) __PYX_ERR(0, 752, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_4 = __pyx_t_17; __pyx_L16_bool_binop_done:; if (__pyx_t_4) { /* … */ }
+0753: statstr += "(before scaling) "
__pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_statstr, __pyx_kp_s_before_scaling); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_statstr, __pyx_t_8); __pyx_t_8 = 0;
0754:
+0755: statstr += f"compute time: {toc - self.tic:0.8f} seconds. "
__pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 755, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_14 = 0; __pyx_t_15 = 127; __Pyx_INCREF(__pyx_kp_u_compute_time); __pyx_t_14 += 14; __Pyx_GIVEREF(__pyx_kp_u_compute_time); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_compute_time); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_tic); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 755, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = PyNumber_Subtract(__pyx_v_toc, __pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 755, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Format(__pyx_t_9, __pyx_kp_u_0_8f); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 755, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_15 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_15) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_15; __pyx_t_14 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_5); __pyx_t_5 = 0; __Pyx_INCREF(__pyx_kp_u_seconds); __pyx_t_14 += 10; __Pyx_GIVEREF(__pyx_kp_u_seconds); PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_kp_u_seconds); __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_8, 3, __pyx_t_14, __pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 755, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_statstr, __pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 755, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_statstr, __pyx_t_8); __pyx_t_8 = 0;
0756:
0757:
+0758: if self.reverb_to_file:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reverb_to_file); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 758, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L18; }
+0759: chans = clm_channels(self.revfile)
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_clm_channels); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_revfile); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_9}; __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF_SET(__pyx_v_chans, __pyx_t_8); __pyx_t_8 = 0;
+0760: vals = np.zeros(chans, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_zeros); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(__pyx_v_chans); __Pyx_GIVEREF(__pyx_v_chans); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_chans); __pyx_t_9 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_double); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_dtype, __pyx_t_3) < 0) __PYX_ERR(0, 760, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF_SET(__pyx_v_vals, __pyx_t_3); __pyx_t_3 = 0;
+0761: times = np.zeros(chans, dtype=np.int_)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_chans); __Pyx_GIVEREF(__pyx_v_chans); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_chans); __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_dtype, __pyx_t_7) < 0) __PYX_ERR(0, 761, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF_SET(__pyx_v_times, __pyx_t_7); __pyx_t_7 = 0;
+0762: vals_view = vals
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn_mus_float_t(__pyx_v_vals, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 762, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_vals_view, 1); __pyx_v_vals_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
+0763: times_view = times
__pyx_t_2 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn_mus_long_t(__pyx_v_times, PyBUF_WRITABLE); if (unlikely(!__pyx_t_2.memview)) __PYX_ERR(0, 763, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_times_view, 1); __pyx_v_times_view = __pyx_t_2; __pyx_t_2.memview = NULL; __pyx_t_2.data = NULL;
+0764: maxamp = csndlib.mus_sound_maxamps(self.revfile, chans, &vals_view[0], ×_view[0])
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_revfile); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_10 = __Pyx_PyObject_AsString(__pyx_t_7); if (unlikely((!__pyx_t_10) && PyErr_Occurred())) __PYX_ERR(0, 764, __pyx_L1_error) __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_v_chans); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 764, __pyx_L1_error) __pyx_t_13 = 0; __pyx_t_12 = -1; if (__pyx_t_13 < 0) { __pyx_t_13 += __pyx_v_vals_view.shape[0]; if (unlikely(__pyx_t_13 < 0)) __pyx_t_12 = 0; } else if (unlikely(__pyx_t_13 >= __pyx_v_vals_view.shape[0])) __pyx_t_12 = 0; if (unlikely(__pyx_t_12 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_12); __PYX_ERR(0, 764, __pyx_L1_error) } __pyx_t_11 = 0; __pyx_t_12 = -1; if (__pyx_t_11 < 0) { __pyx_t_11 += __pyx_v_times_view.shape[0]; if (unlikely(__pyx_t_11 < 0)) __pyx_t_12 = 0; } else if (unlikely(__pyx_t_11 >= __pyx_v_times_view.shape[0])) __pyx_t_12 = 0; if (unlikely(__pyx_t_12 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_12); __PYX_ERR(0, 764, __pyx_L1_error) } __pyx_v_maxamp = mus_sound_maxamps(__pyx_t_10, __pyx_t_6, (&(*((mus_float_t *) ( /* dim=0 */ (__pyx_v_vals_view.data + __pyx_t_13 * __pyx_v_vals_view.strides[0]) )))), (&(*((mus_long_t *) ( /* dim=0 */ (__pyx_v_times_view.data + __pyx_t_11 * __pyx_v_times_view.strides[0]) ))))); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+0765: statstr += f"revmax: {vals} {times}"
__pyx_t_7 = PyTuple_New(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_14 = 0; __pyx_t_15 = 127; __Pyx_INCREF(__pyx_kp_u_revmax); __pyx_t_14 += 8; __Pyx_GIVEREF(__pyx_kp_u_revmax); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_kp_u_revmax); __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_v_vals, __pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_15 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8) > __pyx_t_15) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8) : __pyx_t_15; __pyx_t_14 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_8); __pyx_t_8 = 0; __Pyx_INCREF(__pyx_kp_u__15); __pyx_t_14 += 1; __Pyx_GIVEREF(__pyx_kp_u__15); PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_kp_u__15); __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_v_times, __pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_15 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8) > __pyx_t_15) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8) : __pyx_t_15; __pyx_t_14 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyUnicode_Join(__pyx_t_7, 4, __pyx_t_14, __pyx_t_15); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_statstr, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF_SET(__pyx_v_statstr, __pyx_t_7); __pyx_t_7 = 0;
+0766: elif self.reverb and not self.reverb_to_file and is_list_or_ndarray(self.output):
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reverb); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 766, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_17 < 0))) __PYX_ERR(0, 766, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_17) { } else { __pyx_t_4 = __pyx_t_17; goto __pyx_L19_bool_binop_done; } __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reverb_to_file); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 766, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_17 < 0))) __PYX_ERR(0, 766, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_18 = (!__pyx_t_17); if (__pyx_t_18) { } else { __pyx_t_4 = __pyx_t_18; goto __pyx_L19_bool_binop_done; } __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 766, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __pyx_f_8pysndlib_3clm_is_list_or_ndarray(__pyx_t_7, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 766, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_18 < 0))) __PYX_ERR(0, 766, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_4 = __pyx_t_18; __pyx_L19_bool_binop_done:; if (__pyx_t_4) { /* … */ } __pyx_L18:;
+0767: chans = clm_channels(CLM.reverb)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_clm_channels); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 767, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CLM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 767, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_reverb); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 767, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_9}; __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 767, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF_SET(__pyx_v_chans, __pyx_t_8); __pyx_t_8 = 0;
0768:
+0769: vals = np.zeros(chans, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_zeros); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(__pyx_v_chans); __Pyx_GIVEREF(__pyx_v_chans); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_chans); __pyx_t_9 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_double); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 769, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF_SET(__pyx_v_vals, __pyx_t_5); __pyx_t_5 = 0;
+0770: times = np.zeros(chans, dtype=np.int_)
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_zeros); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_chans); __Pyx_GIVEREF(__pyx_v_chans); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_chans); __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_int); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_dtype, __pyx_t_3) < 0) __PYX_ERR(0, 770, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_5, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF_SET(__pyx_v_times, __pyx_t_3); __pyx_t_3 = 0;
+0771: for i in range(chans):
__pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_v_chans); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 771, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_8 = __pyx_t_3; __Pyx_INCREF(__pyx_t_8); __pyx_t_14 = 0; __pyx_t_16 = NULL; } else { __pyx_t_14 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 771, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_16 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 771, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_16)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_14); __Pyx_INCREF(__pyx_t_3); __pyx_t_14++; if (unlikely((0 < 0))) __PYX_ERR(0, 771, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_8, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 771, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_14 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_14); __Pyx_INCREF(__pyx_t_3); __pyx_t_14++; if (unlikely((0 < 0))) __PYX_ERR(0, 771, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_8, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 771, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_16(__pyx_t_8); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 771, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0772: mabs = np.abs(CLM.reverb[i])
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 772, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_abs); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 772, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CLM); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 772, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_reverb); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 772, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 772, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_5}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 772, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } __Pyx_XDECREF_SET(__pyx_v_mabs, __pyx_t_3); __pyx_t_3 = 0;
+0773: vals[i] = np.amax(mabs)
__Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_amax); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_v_mabs}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } if (unlikely((PyObject_SetItem(__pyx_v_vals, __pyx_v_i, __pyx_t_3) < 0))) __PYX_ERR(0, 773, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0774: times[i] = np.argmax(mabs)
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_argmax); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_mabs}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } if (unlikely((PyObject_SetItem(__pyx_v_times, __pyx_v_i, __pyx_t_3) < 0))) __PYX_ERR(0, 774, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0775: statstr += f"revmax: {vals} {times}"
__pyx_t_8 = PyTuple_New(4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_14 = 0; __pyx_t_15 = 127; __Pyx_INCREF(__pyx_kp_u_revmax); __pyx_t_14 += 8; __Pyx_GIVEREF(__pyx_kp_u_revmax); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_revmax); __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_v_vals, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_15 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_15) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_15; __pyx_t_14 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_3); __pyx_t_3 = 0; __Pyx_INCREF(__pyx_kp_u__15); __pyx_t_14 += 1; __Pyx_GIVEREF(__pyx_kp_u__15); PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_kp_u__15); __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_v_times, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_15 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_15) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_15; __pyx_t_14 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_8, 3, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_8, 4, __pyx_t_14, __pyx_t_15); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_statstr, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_statstr, __pyx_t_8); __pyx_t_8 = 0;
0776:
+0777: print(statstr)
__pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_v_statstr); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
0778:
+0779: if self.scaled_to:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_scaled_to); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 779, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L25; }
+0780: if self.output_to_file:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output_to_file); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 780, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L26; }
+0781: arr, _ = file2ndarray(self.output)
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (!(likely(PyString_CheckExact(__pyx_t_8))||((__pyx_t_8) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_8))) __PYX_ERR(0, 781, __pyx_L1_error) __pyx_t_3 = __pyx_f_8pysndlib_3clm_file2ndarray(((PyObject*)__pyx_t_8), 0, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 781, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_8 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_9 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_8 = PyList_GET_ITEM(sequence, 0); __pyx_t_9 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(__pyx_t_9); #else __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_19 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); index = 0; __pyx_t_8 = __pyx_t_19(__pyx_t_5); if (unlikely(!__pyx_t_8)) goto __pyx_L27_unpacking_failed; __Pyx_GOTREF(__pyx_t_8); index = 1; __pyx_t_9 = __pyx_t_19(__pyx_t_5); if (unlikely(!__pyx_t_9)) goto __pyx_L27_unpacking_failed; __Pyx_GOTREF(__pyx_t_9); if (__Pyx_IternextUnpackEndCheck(__pyx_t_19(__pyx_t_5), 2) < 0) __PYX_ERR(0, 781, __pyx_L1_error) __pyx_t_19 = NULL; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L28_unpacking_done; __pyx_L27_unpacking_failed:; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_19 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 781, __pyx_L1_error) __pyx_L28_unpacking_done:; } __pyx_v_arr = __pyx_t_8; __pyx_t_8 = 0; __pyx_v__ = __pyx_t_9; __pyx_t_9 = 0;
+0782: arr *= (self.scaled_to / np.max(np.abs(arr)))
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_scaled_to); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_max); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_abs); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_20))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_20); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_20, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_arr}; __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_20, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; } __pyx_t_20 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_20 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_20)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_20); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_20, __pyx_t_8}; __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __pyx_t_5 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_InPlaceMultiply(__pyx_v_arr, __pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_arr, __pyx_t_9); __pyx_t_9 = 0;
0783: # handle error
+0784: ndarray2file(self.output, arr)
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (!(likely(PyString_CheckExact(__pyx_t_9))||((__pyx_t_9) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_9))) __PYX_ERR(0, 784, __pyx_L1_error) __pyx_t_5 = __pyx_f_8pysndlib_3clm_ndarray2file(((PyObject*)__pyx_t_9), __pyx_v_arr, 0, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
0785: else:
+0786: self.output *= (self.scaled_to / np.max(np.abs(self.output)))
/*else*/ {
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 786, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_scaled_to); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 786, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 786, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_max); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 786, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_20);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 786, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_abs); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 786, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_21);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 786, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_22 = NULL;
__pyx_t_6 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_21))) {
__pyx_t_22 = PyMethod_GET_SELF(__pyx_t_21);
if (likely(__pyx_t_22)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_21);
__Pyx_INCREF(__pyx_t_22);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_21, function);
__pyx_t_6 = 1;
}
}
{
PyObject *__pyx_callargs[2] = {__pyx_t_22, __pyx_t_7};
__pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_21, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
__Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 786, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
}
__pyx_t_21 = NULL;
__pyx_t_6 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_20))) {
__pyx_t_21 = PyMethod_GET_SELF(__pyx_t_20);
if (likely(__pyx_t_21)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20);
__Pyx_INCREF(__pyx_t_21);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_20, function);
__pyx_t_6 = 1;
}
}
{
PyObject *__pyx_callargs[2] = {__pyx_t_21, __pyx_t_8};
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_20, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
__Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 786, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
}
__pyx_t_20 = __Pyx_PyNumber_Divide(__pyx_t_9, __pyx_t_3); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 786, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_20);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = PyNumber_InPlaceMultiply(__pyx_t_5, __pyx_t_20); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 786, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_output, __pyx_t_3) < 0) __PYX_ERR(0, 786, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__pyx_L26:;
+0787: elif self.scaled_by:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_scaled_by); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 787, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_4) { /* … */ } __pyx_L25:;
+0788: if self.output_to_file:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output_to_file); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 788, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L29; }
+0789: arr, _ = file2ndarray(self.output)
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_3))) __PYX_ERR(0, 789, __pyx_L1_error) __pyx_t_20 = __pyx_f_8pysndlib_3clm_file2ndarray(((PyObject*)__pyx_t_3), 0, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_20))) || (PyList_CheckExact(__pyx_t_20))) { PyObject* sequence = __pyx_t_20; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 789, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_3 = PyList_GET_ITEM(sequence, 0); __pyx_t_5 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_5); #else __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; } else { Py_ssize_t index = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_20); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_19 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_9); index = 0; __pyx_t_3 = __pyx_t_19(__pyx_t_9); if (unlikely(!__pyx_t_3)) goto __pyx_L30_unpacking_failed; __Pyx_GOTREF(__pyx_t_3); index = 1; __pyx_t_5 = __pyx_t_19(__pyx_t_9); if (unlikely(!__pyx_t_5)) goto __pyx_L30_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); if (__Pyx_IternextUnpackEndCheck(__pyx_t_19(__pyx_t_9), 2) < 0) __PYX_ERR(0, 789, __pyx_L1_error) __pyx_t_19 = NULL; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; goto __pyx_L31_unpacking_done; __pyx_L30_unpacking_failed:; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_19 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 789, __pyx_L1_error) __pyx_L31_unpacking_done:; } __pyx_v_arr = __pyx_t_3; __pyx_t_3 = 0; __pyx_v__ = __pyx_t_5; __pyx_t_5 = 0;
+0790: arr *= self.scaled_by
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_scaled_by); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_5 = PyNumber_InPlaceMultiply(__pyx_v_arr, __pyx_t_20); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF_SET(__pyx_v_arr, __pyx_t_5); __pyx_t_5 = 0;
+0791: ndarray2file(self.output, arr)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 791, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (!(likely(PyString_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_5))) __PYX_ERR(0, 791, __pyx_L1_error) __pyx_t_20 = __pyx_f_8pysndlib_3clm_ndarray2file(((PyObject*)__pyx_t_5), __pyx_v_arr, 0, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 791, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
0792: else:
+0793: self.output *= self.scaled_by
/*else*/ {
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 793, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_20);
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_scaled_by); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 793, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_3 = PyNumber_InPlaceMultiply(__pyx_t_20, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 793, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_output, __pyx_t_3) < 0) __PYX_ERR(0, 793, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__pyx_L29:;
+0794: if self.play and self.output_to_file:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_play); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 794, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_18 < 0))) __PYX_ERR(0, 794, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_18) { } else { __pyx_t_4 = __pyx_t_18; goto __pyx_L33_bool_binop_done; } __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output_to_file); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 794, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_18 < 0))) __PYX_ERR(0, 794, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = __pyx_t_18; __pyx_L33_bool_binop_done:; if (__pyx_t_4) { /* … */ }
+0795: subprocess.run([CLM.player,self.output])
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_subprocess); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 795, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_run); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 795, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CLM); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 795, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_player); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 795, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 795, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = PyList_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 795, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_9); PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_8, 1, __pyx_t_5); __pyx_t_9 = 0; __pyx_t_5 = 0; __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_20))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_20); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_20, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_8}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_20, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 795, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
0796: # need some safety if errors
0797:
+0798: set_srate(self.old_srate)
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_old_srate); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 798, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_23 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_23 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 798, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_24 = __pyx_f_8pysndlib_3clm_set_srate(__pyx_t_23, 0); if (unlikely(__pyx_t_24 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 798, __pyx_L1_error)
0799:
+0800: if self.finalize:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_finalize); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_4) { /* … */ }
+0801: self.finalize(self.output)
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_finalize); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_output); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_20))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_20); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_20, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_8}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_20, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
0802:
0803:
+0804: cpdef is_list_or_ndarray(x):
static PyObject *__pyx_pw_8pysndlib_3clm_9is_list_or_ndarray(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_is_list_or_ndarray(PyObject *__pyx_v_x, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_list_or_ndarray", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.is_list_or_ndarray", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_9is_list_or_ndarray(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_9is_list_or_ndarray = {"is_list_or_ndarray", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_9is_list_or_ndarray, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_9is_list_or_ndarray(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_list_or_ndarray (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 804, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_list_or_ndarray") < 0)) __PYX_ERR(0, 804, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_list_or_ndarray", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 804, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_list_or_ndarray", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_8is_list_or_ndarray(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_8is_list_or_ndarray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_list_or_ndarray", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_list_or_ndarray(__pyx_v_x, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 804, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.is_list_or_ndarray", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__118 = PyTuple_Pack(1, __pyx_n_s_x); if (unlikely(!__pyx_tuple__118)) __PYX_ERR(0, 804, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__118);
__Pyx_GIVEREF(__pyx_tuple__118);
/* … */
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_9is_list_or_ndarray, 0, __pyx_n_s_is_list_or_ndarray, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__119)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 804, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_list_or_ndarray, __pyx_t_41) < 0) __PYX_ERR(0, 804, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_list_or_ndarray, 804, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) __PYX_ERR(0, 804, __pyx_L1_error)
+0805: return isinstance(x, list) or isinstance(x, np.ndarray)
__Pyx_XDECREF(__pyx_r); __pyx_t_2 = PyList_Check(__pyx_v_x); if (!__pyx_t_2) { } else { __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L3_bool_binop_done; } __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_x, __pyx_ptype_5numpy_ndarray); __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __pyx_t_3; __pyx_t_3 = 0; __pyx_L3_bool_binop_done:; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0806:
+0807: cpdef is_power_of_2(x):
static PyObject *__pyx_pw_8pysndlib_3clm_11is_power_of_2(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_is_power_of_2(PyObject *__pyx_v_x, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_power_of_2", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_power_of_2", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_11is_power_of_2(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_11is_power_of_2 = {"is_power_of_2", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_11is_power_of_2, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_11is_power_of_2(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_power_of_2 (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 807, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_power_of_2") < 0)) __PYX_ERR(0, 807, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_power_of_2", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 807, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_power_of_2", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_10is_power_of_2(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_10is_power_of_2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_power_of_2", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_power_of_2(__pyx_v_x, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 807, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.is_power_of_2", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_11is_power_of_2, 0, __pyx_n_s_is_power_of_2, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__120)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 807, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_power_of_2, __pyx_t_41) < 0) __PYX_ERR(0, 807, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_power_of_2, 807, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) __PYX_ERR(0, 807, __pyx_L1_error)
+0808: return (((x) - 1) & (x)) == 0
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_x, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyNumber_And(__pyx_t_1, __pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0809:
+0810: cpdef next_power_of_2(x):
static PyObject *__pyx_pw_8pysndlib_3clm_13next_power_of_2(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_next_power_of_2(PyObject *__pyx_v_x, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("next_power_of_2", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.next_power_of_2", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_13next_power_of_2(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_13next_power_of_2 = {"next_power_of_2", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_13next_power_of_2, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_13next_power_of_2(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("next_power_of_2 (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 810, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "next_power_of_2") < 0)) __PYX_ERR(0, 810, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("next_power_of_2", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 810, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.next_power_of_2", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_12next_power_of_2(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_12next_power_of_2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("next_power_of_2", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_next_power_of_2(__pyx_v_x, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 810, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.next_power_of_2", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_13next_power_of_2, 0, __pyx_n_s_next_power_of_2, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__121)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 810, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_next_power_of_2, __pyx_t_41) < 0) __PYX_ERR(0, 810, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_next_power_of_2, 810, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) __PYX_ERR(0, 810, __pyx_L1_error)
+0811: return 2**int(1 + (float(math.log(x + 1)) / math.log(2.0)))
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_math); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_log); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_v_x, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_t_3 = __Pyx_PyNumber_Float(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_math); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_log); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_float_2_0}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_AddCObj(__pyx_int_1, __pyx_t_4, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyNumber_PowerOf2(__pyx_int_2, __pyx_t_4, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0812:
0813:
0814:
+0815: cpdef np.ndarray to_partials(harms):
static PyObject *__pyx_pw_8pysndlib_3clm_15to_partials(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyArrayObject *__pyx_f_8pysndlib_3clm_to_partials(PyObject *__pyx_v_harms, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyObject *__pyx_v_p = NULL;
PyObject *__pyx_v_maxpartial = NULL;
PyObject *__pyx_v_partials = NULL;
PyObject *__pyx_v_i = NULL;
PyArrayObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("to_partials", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_AddTraceback("pysndlib.clm.to_partials", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_p);
__Pyx_XDECREF(__pyx_v_maxpartial);
__Pyx_XDECREF(__pyx_v_partials);
__Pyx_XDECREF(__pyx_v_i);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_15to_partials(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_15to_partials = {"to_partials", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_15to_partials, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_15to_partials(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_harms = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("to_partials (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_harms,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_harms)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 815, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "to_partials") < 0)) __PYX_ERR(0, 815, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_harms = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("to_partials", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 815, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.to_partials", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_14to_partials(__pyx_self, __pyx_v_harms);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_14to_partials(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_harms) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("to_partials", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_to_partials(__pyx_v_harms, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 815, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.to_partials", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__122 = PyTuple_Pack(1, __pyx_n_s_harms); if (unlikely(!__pyx_tuple__122)) __PYX_ERR(0, 815, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__122);
__Pyx_GIVEREF(__pyx_tuple__122);
/* … */
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_15to_partials, 0, __pyx_n_s_to_partials, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__123)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 815, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_to_partials, __pyx_t_41) < 0) __PYX_ERR(0, 815, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_to_partials, 815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) __PYX_ERR(0, 815, __pyx_L1_error)
+0816: if isinstance(harms, list):
__pyx_t_1 = PyList_Check(__pyx_v_harms);
if (__pyx_t_1) {
/* … */
}
+0817: p = harms[::2]
__pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_harms, __pyx_slice__18); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 817, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_p = __pyx_t_2; __pyx_t_2 = 0; /* … */ __pyx_slice__18 = PySlice_New(Py_None, Py_None, __pyx_int_2); if (unlikely(!__pyx_slice__18)) __PYX_ERR(0, 817, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__18); __Pyx_GIVEREF(__pyx_slice__18);
+0818: maxpartial = max(p)
__pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_v_p); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_maxpartial = __pyx_t_2; __pyx_t_2 = 0;
+0819: partials = [0.0] * int(maxpartial+1)
__pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_v_maxpartial, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_float_0_0); { PyObject* __pyx_temp = PyNumber_InPlaceMultiply(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_temp)) __PYX_ERR(0, 819, __pyx_L1_error) __Pyx_GOTREF(__pyx_temp); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = __pyx_temp; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_partials = __pyx_t_2; __pyx_t_2 = 0;
+0820: check_ndim(partials)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 820, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_partials}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 820, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0821: for i in range(0, len(harms),2):
__pyx_t_6 = PyObject_Length(__pyx_v_harms); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 821, __pyx_L1_error) __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __Pyx_INCREF(__pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_int_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 821, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(0, 821, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(0, 821, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_7(__pyx_t_3); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 821, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0822: partials[int(harms[i])] = harms[i+1]
__pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_harms, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_harms, __pyx_v_i); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely((PyObject_SetItem(__pyx_v_partials, __pyx_t_8, __pyx_t_4) < 0))) __PYX_ERR(0, 822, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+0823: return partials
__Pyx_XDECREF((PyObject *)__pyx_r); if (!(likely(__Pyx_TypeTest(__pyx_v_partials, __pyx_ptype_5numpy_ndarray)))) __PYX_ERR(0, 823, __pyx_L1_error) __Pyx_INCREF(__pyx_v_partials); __pyx_r = ((PyArrayObject *)__pyx_v_partials); goto __pyx_L0;
+0824: elif isinstance(harms[0], np.double):
__pyx_t_3 = __Pyx_GetItemInt(__pyx_v_harms, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 824, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 824, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_double); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 824, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_1 = PyObject_IsInstance(__pyx_t_3, __pyx_t_8); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 824, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (likely(__pyx_t_1)) { /* … */ }
+0825: p = harms[::2]
__pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_v_harms, __pyx_slice__18); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 825, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_v_p = __pyx_t_8; __pyx_t_8 = 0;
+0826: maxpartial = np.max(p)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_max); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_p}; __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __pyx_v_maxpartial = __pyx_t_8; __pyx_t_8 = 0;
+0827: partials = np.zeros(int(maxpartial)+1, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 827, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 827, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyNumber_Int(__pyx_v_maxpartial); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 827, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_t_8, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 827, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 827, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 827, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 827, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_double); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 827, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_9) < 0) __PYX_ERR(0, 827, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 827, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_partials = __pyx_t_9; __pyx_t_9 = 0;
+0828: check_ndim(partials)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_partials}; __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0829: for i in range(0, len(harms),2):
__pyx_t_6 = PyObject_Length(__pyx_v_harms); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 829, __pyx_L1_error) __pyx_t_9 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_9); __Pyx_INCREF(__pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_int_2); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_3 = __pyx_t_9; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 829, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(0, 829, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(0, 829, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_7(__pyx_t_3); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 829, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0830: partials[int(harms[i])] = harms[i+1]
__pyx_t_9 = __Pyx_PyInt_AddObjC(__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_v_harms, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_v_harms, __pyx_v_i); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely((PyObject_SetItem(__pyx_v_partials, __pyx_t_4, __pyx_t_8) < 0))) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0831: return partials
__Pyx_XDECREF((PyObject *)__pyx_r); if (!(likely(((__pyx_v_partials) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_partials, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 831, __pyx_L1_error) __Pyx_INCREF(__pyx_v_partials); __pyx_r = ((PyArrayObject *)__pyx_v_partials); goto __pyx_L0;
0832: else:
+0833: raise TypeError(f'{type(harms)} cannot be converted to a mus_float_array')
/*else*/ {
__pyx_t_3 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_v_harms)), __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 833, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_8 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_kp_u_cannot_be_converted_to_a_mus_fl); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 833, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 833, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__PYX_ERR(0, 833, __pyx_L1_error)
}
0834:
0835:
0836: # --------------- generic functions ---------------- #
0837:
+0838: cpdef int mus_close(obj: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_17mus_close(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_mus_close(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_obj, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("mus_close", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_17mus_close(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_17mus_close = {"mus_close", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_17mus_close, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_17mus_close(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_obj = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("mus_close (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_obj,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_obj)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 838, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "mus_close") < 0)) __PYX_ERR(0, 838, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_obj = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("mus_close", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 838, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.mus_close", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_obj), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "obj", 0))) __PYX_ERR(0, 838, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_16mus_close(__pyx_self, __pyx_v_obj);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_16mus_close(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_obj) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("mus_close", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_mus_close(__pyx_v_obj, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 838, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 838, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.mus_close", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__124 = PyTuple_Pack(1, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__124)) __PYX_ERR(0, 838, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__124);
__Pyx_GIVEREF(__pyx_tuple__124);
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 838, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_obj, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 838, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_17mus_close, 0, __pyx_n_s_mus_close, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__125)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 838, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_mus_close, __pyx_t_37) < 0) __PYX_ERR(0, 838, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_mus_close, 838, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) __PYX_ERR(0, 838, __pyx_L1_error)
+0839: return cclm.mus_close_file(obj._ptr)
__pyx_r = mus_close_file(__pyx_v_obj->_ptr); goto __pyx_L0;
0840:
+0841: cpdef bint mus_is_output(obj: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_19mus_is_output(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_mus_is_output(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_obj, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("mus_is_output", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_19mus_is_output(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_18mus_is_output, "\n returns true if gen is a type of output\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_19mus_is_output = {"mus_is_output", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_19mus_is_output, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_18mus_is_output};
static PyObject *__pyx_pw_8pysndlib_3clm_19mus_is_output(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_obj = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("mus_is_output (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_obj,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_obj)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 841, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "mus_is_output") < 0)) __PYX_ERR(0, 841, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_obj = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("mus_is_output", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 841, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.mus_is_output", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_obj), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "obj", 0))) __PYX_ERR(0, 841, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_18mus_is_output(__pyx_self, __pyx_v_obj);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_18mus_is_output(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_obj) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("mus_is_output", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_mus_is_output(__pyx_v_obj, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 841, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 841, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.mus_is_output", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 841, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_obj, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 841, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_19mus_is_output, 0, __pyx_n_s_mus_is_output, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__126)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 841, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_mus_is_output, __pyx_t_41) < 0) __PYX_ERR(0, 841, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_mus_is_output, 841, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) __PYX_ERR(0, 841, __pyx_L1_error)
0842: """
0843: returns true if gen is a type of output
0844: """
+0845: return cclm.mus_is_output(obj._ptr)
__pyx_r = mus_is_output(__pyx_v_obj->_ptr); goto __pyx_L0;
0846:
+0847: cpdef bint mus_is_input(obj: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_21mus_is_input(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_mus_is_input(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_obj, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("mus_is_input", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_21mus_is_input(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_20mus_is_input, "\n returns true if gen is a type of output\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_21mus_is_input = {"mus_is_input", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_21mus_is_input, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_20mus_is_input};
static PyObject *__pyx_pw_8pysndlib_3clm_21mus_is_input(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_obj = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("mus_is_input (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_obj,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_obj)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 847, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "mus_is_input") < 0)) __PYX_ERR(0, 847, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_obj = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("mus_is_input", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 847, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.mus_is_input", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_obj), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "obj", 0))) __PYX_ERR(0, 847, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_20mus_is_input(__pyx_self, __pyx_v_obj);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_20mus_is_input(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_obj) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("mus_is_input", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_mus_is_input(__pyx_v_obj, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 847, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 847, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.mus_is_input", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 847, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_obj, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 847, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_21mus_is_input, 0, __pyx_n_s_mus_is_input, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__127)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 847, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_mus_is_input, __pyx_t_37) < 0) __PYX_ERR(0, 847, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_mus_is_input, 847, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) __PYX_ERR(0, 847, __pyx_L1_error)
0848: """
0849: returns true if gen is a type of output
0850: """
+0851: return cclm.mus_is_input(obj._ptr)
__pyx_r = mus_is_input(__pyx_v_obj->_ptr); goto __pyx_L0;
0852:
0853:
0854: # prepending clm to functions to avoid name clashes
0855:
0856: # --------------- clm_length ---------------- #
+0857: @singledispatch
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_23clm_length(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_23clm_length = {"clm_length", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_23clm_length, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_23clm_length(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED PyObject *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("clm_length (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 857, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "clm_length") < 0)) __PYX_ERR(0, 857, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("clm_length", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 857, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.clm_length", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_22clm_length(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_22clm_length(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("clm_length", 0);
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_singledispatch); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 857, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_23clm_length, 0, __pyx_n_s_clm_length, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__128)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 857, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_40 = __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_41); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 857, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_clm_length, __pyx_t_40) < 0) __PYX_ERR(0, 857, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_clm_length, 857, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) __PYX_ERR(0, 857, __pyx_L1_error)
0858: def clm_length(x):
0859: pass
0860:
+0861: @clm_length.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_25_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_25_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_25_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_25_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 861, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 861, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = ((PyObject*)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 861, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyString_Type), 0, "x", 1))) __PYX_ERR(0, 862, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_24_(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_24_(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_clm_length); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 861, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_register); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 861, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 861, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_x, __pyx_n_s_str_2) < 0) __PYX_ERR(0, 861, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_25_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__129)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 861, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyObject_CallOneArg(__pyx_t_41, __pyx_t_37); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 861, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_40) < 0) __PYX_ERR(0, 861, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 861, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) __PYX_ERR(0, 861, __pyx_L1_error)
0862: def _(x: str):# assume file
+0863: return csndlib.mus_sound_length(x)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyObject_AsString(__pyx_v_x); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) __PYX_ERR(0, 863, __pyx_L1_error) __pyx_t_2 = __Pyx_PyInt_From_mus_long_t(mus_sound_length(__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 863, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
0864:
+0865: @clm_length.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_27_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_27_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_27_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_27_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 865, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 865, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 865, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "x", 0))) __PYX_ERR(0, 866, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_26_(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_26_(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_clm_length); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 865, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_register); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 865, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 865, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_x, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 865, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_27_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__130)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 865, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_41); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 865, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_40) < 0) __PYX_ERR(0, 865, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 865, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) __PYX_ERR(0, 865, __pyx_L1_error)
0866: def _(x: mus_any):# assume gen
+0867: return x.mus_length
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_x), __pyx_n_s_mus_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0868:
+0869: @clm_length.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_29_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_29_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_29_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_29_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 869, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 869, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = ((PyObject*)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 869, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyList_Type), 0, "x", 1))) __PYX_ERR(0, 870, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_28_(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_28_(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_clm_length); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 869, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_register); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 869, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 869, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_x, __pyx_n_s_list) < 0) __PYX_ERR(0, 869, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_29_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__131)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 869, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyObject_CallOneArg(__pyx_t_41, __pyx_t_37); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 869, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_40) < 0) __PYX_ERR(0, 869, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 869, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) __PYX_ERR(0, 869, __pyx_L1_error)
0870: def _(x: list):
+0871: if isinstance(x[0], list):
__pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_x, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 871, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyList_Check(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ }
+0872: return len(x[0])
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_x, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 872, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 872, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 872, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0873: else:
+0874: return len(x)
/*else*/ {
__Pyx_XDECREF(__pyx_r);
__pyx_t_3 = PyList_GET_SIZE(__pyx_v_x); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 874, __pyx_L1_error)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 874, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
}
0875:
+0876: @clm_length.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_31_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_31_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_31_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_31_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyArrayObject *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 876, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 876, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = ((PyArrayObject *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 876, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_ptype_5numpy_ndarray, 0, "x", 0))) __PYX_ERR(0, 877, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_30_(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_30_(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_clm_length); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 876, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_register); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 876, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 876, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_x, __pyx_kp_s_np_ndarray) < 0) __PYX_ERR(0, 876, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_31_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__132)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 876, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_41); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 876, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_40) < 0) __PYX_ERR(0, 876, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 876, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) __PYX_ERR(0, 876, __pyx_L1_error)
0877: def _(x: np.ndarray):
+0878: if x.ndim == 1:
__pyx_t_1 = __pyx_f_5numpy_7ndarray_4ndim_ndim(__pyx_v_x); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 878, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 == 1); if (__pyx_t_2) { /* … */ }
+0879: return np.shape(x)[0]
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 879, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_shape); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 879, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_1 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_1 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, ((PyObject *)__pyx_v_x)}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_1, 1+__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 879, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 879, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0;
+0880: elif x.ndim == 2:
__pyx_t_1 = __pyx_f_5numpy_7ndarray_4ndim_ndim(__pyx_v_x); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 880, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 == 2); if (likely(__pyx_t_2)) { /* … */ }
+0881: return np.shape(x)[1]
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 881, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_shape); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 881, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; __pyx_t_1 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_1 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_x)}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_1, 1+__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 881, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 881, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0;
0882: else:
+0883: raise RuntimeError(f'ndarray must have 1 or 2 dimensions not {x.ndim}. ')
/*else*/ {
__pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 883, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = 0;
__pyx_t_7 = 127;
__Pyx_INCREF(__pyx_kp_u_ndarray_must_have_1_or_2_dimensi);
__pyx_t_6 += 40;
__Pyx_GIVEREF(__pyx_kp_u_ndarray_must_have_1_or_2_dimensi);
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u_ndarray_must_have_1_or_2_dimensi);
__pyx_t_1 = __pyx_f_5numpy_7ndarray_4ndim_ndim(__pyx_v_x); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 883, __pyx_L1_error)
__pyx_t_5 = __Pyx_PyUnicode_From_int(__pyx_t_1, 0, ' ', 'd'); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 883, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_5);
PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5);
__pyx_t_5 = 0;
__Pyx_INCREF(__pyx_kp_u__13);
__pyx_t_6 += 2;
__Pyx_GIVEREF(__pyx_kp_u__13);
PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_kp_u__13);
__pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, __pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 883, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 883, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_Raise(__pyx_t_4, 0, 0, 0);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__PYX_ERR(0, 883, __pyx_L1_error)
}
0884:
0885:
0886:
0887: # --------------- clm_channels ---------------- #
+0888: @singledispatch
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_33clm_channels(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_33clm_channels = {"clm_channels", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_33clm_channels, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_33clm_channels(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED PyObject *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("clm_channels (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 888, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "clm_channels") < 0)) __PYX_ERR(0, 888, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("clm_channels", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 888, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.clm_channels", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_32clm_channels(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_32clm_channels(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("clm_channels", 0);
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_singledispatch); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 888, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_33clm_channels, 0, __pyx_n_s_clm_channels, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__133)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 888, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_37 = __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_t_41); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 888, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_clm_channels, __pyx_t_37) < 0) __PYX_ERR(0, 888, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__133 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_clm_channels, 888, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__133)) __PYX_ERR(0, 888, __pyx_L1_error)
0889: def clm_channels(x):
0890: pass
0891:
+0892: @clm_channels.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_35_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_35_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_35_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_35_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 892, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 892, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = ((PyObject*)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 892, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyString_Type), 0, "x", 1))) __PYX_ERR(0, 893, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_34_(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_34_(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_clm_channels); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 892, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_37, __pyx_n_s_register); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 892, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 892, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_x, __pyx_n_s_str_2) < 0) __PYX_ERR(0, 892, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_35_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__134)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 892, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyObject_CallOneArg(__pyx_t_41, __pyx_t_40); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 892, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_37) < 0) __PYX_ERR(0, 892, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 892, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) __PYX_ERR(0, 892, __pyx_L1_error)
0893: def _(x: str): #assume it is a file
+0894: return csndlib.mus_sound_chans(x)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyObject_AsString(__pyx_v_x); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) __PYX_ERR(0, 894, __pyx_L1_error) __pyx_t_2 = __Pyx_PyInt_From_int(mus_sound_chans(__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
0895:
+0896: @clm_channels.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_37_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_37_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_37_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_37_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 896, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 896, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 896, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "x", 0))) __PYX_ERR(0, 897, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_36_(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_36_(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_clm_channels); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 896, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_37, __pyx_n_s_register); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 896, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 896, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_x, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 896, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_37_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__135)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 896, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_t_41); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 896, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_37) < 0) __PYX_ERR(0, 896, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__135 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 896, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__135)) __PYX_ERR(0, 896, __pyx_L1_error)
0897: def _(x: mus_any): #assume it is a gen
+0898: return x.mus_channels
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_x), __pyx_n_s_mus_channels); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 898, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0899:
+0900: @clm_channels.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_39_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_39_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_39_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_39_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 900, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 900, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = ((PyObject*)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 900, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyList_Type), 0, "x", 1))) __PYX_ERR(0, 901, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_38_(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_38_(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_clm_channels); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 900, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_37, __pyx_n_s_register); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 900, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 900, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_x, __pyx_n_s_list) < 0) __PYX_ERR(0, 900, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_39_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__136)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 900, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyObject_CallOneArg(__pyx_t_41, __pyx_t_40); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 900, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_37) < 0) __PYX_ERR(0, 900, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 900, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) __PYX_ERR(0, 900, __pyx_L1_error)
0901: def _(x: list):
+0902: return len(x)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyList_GET_SIZE(__pyx_v_x); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 902, __pyx_L1_error) __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
0903:
+0904: @clm_channels.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_41_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_41_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_41_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_41_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyArrayObject *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 904, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 904, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = ((PyArrayObject *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 904, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_ptype_5numpy_ndarray, 0, "x", 0))) __PYX_ERR(0, 905, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_40_(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_40_(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_clm_channels); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 904, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_37, __pyx_n_s_register); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 904, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 904, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_x, __pyx_kp_s_np_ndarray) < 0) __PYX_ERR(0, 904, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_41_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__137)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 904, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_t_41); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 904, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_37) < 0) __PYX_ERR(0, 904, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__137 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 904, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__137)) __PYX_ERR(0, 904, __pyx_L1_error)
0905: def _(x: np.ndarray):
+0906: if x.ndim == 1:
__pyx_t_1 = __pyx_f_5numpy_7ndarray_4ndim_ndim(__pyx_v_x); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 906, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 == 1); if (__pyx_t_2) { /* … */ }
+0907: return 1
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_int_1); __pyx_r = __pyx_int_1; goto __pyx_L0;
+0908: elif x.ndim == 2:
__pyx_t_1 = __pyx_f_5numpy_7ndarray_4ndim_ndim(__pyx_v_x); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 908, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 == 2); if (likely(__pyx_t_2)) { /* … */ }
+0909: return np.shape(x)[0]
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_shape); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_1 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_1 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, ((PyObject *)__pyx_v_x)}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_1, 1+__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0;
0910: else:
+0911: raise RuntimeError(f'ndarray must have 1 or 2 dimensions not {x.ndim}. ')
/*else*/ {
__pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 911, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = 0;
__pyx_t_7 = 127;
__Pyx_INCREF(__pyx_kp_u_ndarray_must_have_1_or_2_dimensi);
__pyx_t_6 += 40;
__Pyx_GIVEREF(__pyx_kp_u_ndarray_must_have_1_or_2_dimensi);
PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u_ndarray_must_have_1_or_2_dimensi);
__pyx_t_1 = __pyx_f_5numpy_7ndarray_4ndim_ndim(__pyx_v_x); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 911, __pyx_L1_error)
__pyx_t_3 = __Pyx_PyUnicode_From_int(__pyx_t_1, 0, ' ', 'd'); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 911, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3);
__pyx_t_3 = 0;
__Pyx_INCREF(__pyx_kp_u__13);
__pyx_t_6 += 2;
__Pyx_GIVEREF(__pyx_kp_u__13);
PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u__13);
__pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_5, 3, __pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 911, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 911, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_Raise(__pyx_t_5, 0, 0, 0);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__PYX_ERR(0, 911, __pyx_L1_error)
}
0912:
0913: # --------------- clm_srate ---------------- #
+0914: @singledispatch
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_43clm_srate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_43clm_srate = {"clm_srate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_43clm_srate, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_43clm_srate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED PyObject *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("clm_srate (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 914, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "clm_srate") < 0)) __PYX_ERR(0, 914, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("clm_srate", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 914, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.clm_srate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_42clm_srate(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_42clm_srate(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("clm_srate", 0);
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_singledispatch); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 914, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_43clm_srate, 0, __pyx_n_s_clm_srate, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__138)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 914, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_40 = __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_41); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 914, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_clm_srate, __pyx_t_40) < 0) __PYX_ERR(0, 914, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_clm_srate, 914, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) __PYX_ERR(0, 914, __pyx_L1_error)
0915: def clm_srate(x):
0916: pass
0917:
+0918: @clm_srate.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_45_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_45_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_45_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_45_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 918, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 918, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = ((PyObject*)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 918, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyString_Type), 0, "x", 1))) __PYX_ERR(0, 919, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_44_(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_44_(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_clm_srate); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 918, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_register); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 918, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 918, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_x, __pyx_n_s_str_2) < 0) __PYX_ERR(0, 918, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_45_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__139)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 918, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyObject_CallOneArg(__pyx_t_41, __pyx_t_37); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 918, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_40) < 0) __PYX_ERR(0, 918, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__139 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 918, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__139)) __PYX_ERR(0, 918, __pyx_L1_error)
0919: def _(x: str): #file
+0920: return csndlib.mus_sound_srate(x)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyObject_AsString(__pyx_v_x); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) __PYX_ERR(0, 920, __pyx_L1_error) __pyx_t_2 = __Pyx_PyInt_From_int(mus_sound_srate(__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 920, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
0921:
0922: # --------------- clm_framples ---------------- #
+0923: @singledispatch
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_47clm_framples(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_47clm_framples = {"clm_framples", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_47clm_framples, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_47clm_framples(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED PyObject *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("clm_framples (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 923, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "clm_framples") < 0)) __PYX_ERR(0, 923, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("clm_framples", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 923, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.clm_framples", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_46clm_framples(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_46clm_framples(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("clm_framples", 0);
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_singledispatch); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 923, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_47clm_framples, 0, __pyx_n_s_clm_framples, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__140)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 923, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_t_37); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 923, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_clm_framples, __pyx_t_41) < 0) __PYX_ERR(0, 923, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_clm_framples, 923, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) __PYX_ERR(0, 923, __pyx_L1_error)
0924: def clm_framples(x):
0925: pass
0926:
+0927: @clm_framples.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_49_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_49_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_49_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_49_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 927, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 927, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = ((PyObject*)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 927, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyString_Type), 0, "x", 1))) __PYX_ERR(0, 928, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_48_(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_48_(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_clm_framples); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 927, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_register); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 927, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 927, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_n_s_str_2) < 0) __PYX_ERR(0, 927, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_49_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__141)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 927, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_40); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 927, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_41) < 0) __PYX_ERR(0, 927, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__141 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 927, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__141)) __PYX_ERR(0, 927, __pyx_L1_error)
0928: def _(x: str):# assume file
+0929: return csndlib.mus_sound_framples(x)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyObject_AsString(__pyx_v_x); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) __PYX_ERR(0, 929, __pyx_L1_error) __pyx_t_2 = __Pyx_PyInt_From_mus_long_t(mus_sound_framples(__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 929, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
0930:
+0931: @clm_framples.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_51_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_51_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_51_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_51_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 931, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 931, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 931, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "x", 0))) __PYX_ERR(0, 932, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_50_(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_50_(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_clm_framples); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 931, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_register); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 931, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 931, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 931, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_51_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__142)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 931, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_t_37); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 931, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_41) < 0) __PYX_ERR(0, 931, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 931, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) __PYX_ERR(0, 931, __pyx_L1_error)
0932: def _(x: mus_any):#
+0933: return x.mus_length
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_x), __pyx_n_s_mus_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 933, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0934:
+0935: @clm_framples.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_53_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_53_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_53_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_53_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 935, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 935, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = ((PyObject*)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 935, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyList_Type), 0, "x", 1))) __PYX_ERR(0, 936, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_52_(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_52_(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_clm_framples); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 935, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_register); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 935, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 935, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_n_s_list) < 0) __PYX_ERR(0, 935, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_53_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__143)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 935, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_40); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 935, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_41) < 0) __PYX_ERR(0, 935, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__143 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 935, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__143)) __PYX_ERR(0, 935, __pyx_L1_error)
0936: def _(x: list):
+0937: return len(x[0])
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_x, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 937, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 937, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 937, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0938:
+0939: @clm_framples.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_55_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_55_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_55_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_55_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyArrayObject *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 939, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 939, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = ((PyArrayObject *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 939, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_ptype_5numpy_ndarray, 0, "x", 0))) __PYX_ERR(0, 940, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_54_(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_54_(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_clm_framples); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 939, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_register); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 939, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 939, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_kp_s_np_ndarray) < 0) __PYX_ERR(0, 939, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_55_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__144)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 939, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_t_37); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 939, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_41) < 0) __PYX_ERR(0, 939, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 939, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) __PYX_ERR(0, 939, __pyx_L1_error)
0940: def _(x: np.ndarray):
+0941: if x.ndim == 1:
__pyx_t_1 = __pyx_f_5numpy_7ndarray_4ndim_ndim(__pyx_v_x); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 941, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 == 1); if (__pyx_t_2) { /* … */ }
+0942: return np.shape(x)[0]
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 942, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_shape); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 942, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_1 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_1 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, ((PyObject *)__pyx_v_x)}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_1, 1+__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 942, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 942, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0;
+0943: elif x.ndim == 2:
__pyx_t_1 = __pyx_f_5numpy_7ndarray_4ndim_ndim(__pyx_v_x); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 943, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 == 2); if (likely(__pyx_t_2)) { /* … */ }
+0944: return np.shape(x)[1]
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 944, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_shape); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 944, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; __pyx_t_1 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_1 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_x)}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_1, 1+__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 944, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 944, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0;
0945: else:
+0946: raise RuntimeError(f'ndarray must have 1 or 2 dimensions not {x.ndim}. ')
/*else*/ {
__pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 946, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = 0;
__pyx_t_7 = 127;
__Pyx_INCREF(__pyx_kp_u_ndarray_must_have_1_or_2_dimensi);
__pyx_t_6 += 40;
__Pyx_GIVEREF(__pyx_kp_u_ndarray_must_have_1_or_2_dimensi);
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u_ndarray_must_have_1_or_2_dimensi);
__pyx_t_1 = __pyx_f_5numpy_7ndarray_4ndim_ndim(__pyx_v_x); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 946, __pyx_L1_error)
__pyx_t_5 = __Pyx_PyUnicode_From_int(__pyx_t_1, 0, ' ', 'd'); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 946, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_5);
PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5);
__pyx_t_5 = 0;
__Pyx_INCREF(__pyx_kp_u__13);
__pyx_t_6 += 2;
__Pyx_GIVEREF(__pyx_kp_u__13);
PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_kp_u__13);
__pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, __pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 946, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 946, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_Raise(__pyx_t_4, 0, 0, 0);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__PYX_ERR(0, 946, __pyx_L1_error)
}
0947:
0948: # --------------- clm random ---------------- #
+0949: @singledispatch
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_57_random(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_57_random = {"_random", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_57_random, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_57_random(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED PyObject *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_random (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 949, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_random") < 0)) __PYX_ERR(0, 949, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_random", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 949, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._random", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_56_random(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_56_random(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_random", 0);
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_singledispatch); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 949, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_57_random, 0, __pyx_n_s_random_2, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__145)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 949, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__pyx_t_40 = __Pyx_PyObject_CallOneArg(__pyx_t_41, __pyx_t_37); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 949, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_random_2, __pyx_t_40) < 0) __PYX_ERR(0, 949, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__145 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_random_2, 949, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__145)) __PYX_ERR(0, 949, __pyx_L1_error)
0950: def _random(x):
0951: pass
0952:
+0953: @_random.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_59_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_59_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_59_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_59_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED double __pyx_v_x;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 953, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 953, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 954, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 953, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_58_(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_58_(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED double __pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_random_2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 953, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_register); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 953, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 953, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_x, __pyx_n_s_float) < 0) __PYX_ERR(0, 953, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_59_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__146)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 953, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_41); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 953, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_40) < 0) __PYX_ERR(0, 953, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 953, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) __PYX_ERR(0, 953, __pyx_L1_error)
0954: def _(x: float):
+0955: return random.random()
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[1] = {__pyx_t_2, }; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0956:
+0957: @_random.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_61_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_61_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_61_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_61_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 957, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 957, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = ((PyObject*)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 957, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyInt_Type), 0, "x", 1))) __PYX_ERR(0, 958, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_60_(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_60_(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_random_2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 957, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_register); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 957, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 957, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_x, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 957, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_61_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__147)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 957, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyObject_CallOneArg(__pyx_t_41, __pyx_t_37); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 957, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_40) < 0) __PYX_ERR(0, 957, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__147 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 957, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__147)) __PYX_ERR(0, 957, __pyx_L1_error)
0958: def _(x: int):
+0959: return random.randrange(x)
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 959, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randrange); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 959, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_x}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 959, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0960:
+0961: @singledispatch
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_63_random2(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_63_random2 = {"_random2", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_63_random2, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_63_random2(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED PyObject *__pyx_v_x = 0;
CYTHON_UNUSED PyObject *__pyx_v_y = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_random2 (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_y,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 961, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_y)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 961, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_random2", 1, 2, 2, 1); __PYX_ERR(0, 961, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_random2") < 0)) __PYX_ERR(0, 961, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_x = values[0];
__pyx_v_y = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_random2", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 961, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._random2", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_62_random2(__pyx_self, __pyx_v_x, __pyx_v_y);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_62_random2(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_x, CYTHON_UNUSED PyObject *__pyx_v_y) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_random2", 0);
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_singledispatch); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 961, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
/* … */
__pyx_tuple__148 = PyTuple_Pack(2, __pyx_n_s_x, __pyx_n_s_y); if (unlikely(!__pyx_tuple__148)) __PYX_ERR(0, 961, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__148);
__Pyx_GIVEREF(__pyx_tuple__148);
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_63_random2, 0, __pyx_n_s_random2, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__149)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 961, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_t_37); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 961, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_random2, __pyx_t_41) < 0) __PYX_ERR(0, 961, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__149 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__148, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_random2, 961, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__149)) __PYX_ERR(0, 961, __pyx_L1_error)
0962: def _random2(x, y):
0963: pass
0964:
+0965: @_random2.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_65_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_65_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_65_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_65_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_x;
double __pyx_v_y;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_y,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 965, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_y)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 965, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 2, 2, 1); __PYX_ERR(0, 965, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 965, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 966, __pyx_L3_error)
__pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 966, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 965, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_64_(__pyx_self, __pyx_v_x, __pyx_v_y);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_64_(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_x, double __pyx_v_y) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_random2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 965, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_register); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 965, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 965, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_n_s_float) < 0) __PYX_ERR(0, 965, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_y, __pyx_n_s_float) < 0) __PYX_ERR(0, 965, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_65_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__150)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 965, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_40); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 965, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_41) < 0) __PYX_ERR(0, 965, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__148, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 965, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) __PYX_ERR(0, 965, __pyx_L1_error)
0966: def _(x:float , y: float):
+0967: return random.uniform(x,y)
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uniform); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyFloat_FromDouble(__pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_2, __pyx_t_4}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0968:
+0969: @_random2.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_67_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_67_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_67_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_67_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
PyObject *__pyx_v_y = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_y,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 969, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_y)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 969, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 2, 2, 1); __PYX_ERR(0, 969, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 969, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_x = ((PyObject*)values[0]);
__pyx_v_y = ((PyObject*)values[1]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 969, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyInt_Type), 0, "x", 1))) __PYX_ERR(0, 970, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_y), (&PyInt_Type), 0, "y", 1))) __PYX_ERR(0, 970, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_66_(__pyx_self, __pyx_v_x, __pyx_v_y);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_66_(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_y) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_random2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 969, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_register); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 969, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 969, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 969, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_y, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 969, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_67_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__151)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 969, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_t_37); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 969, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_41) < 0) __PYX_ERR(0, 969, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__151 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__148, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 969, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__151)) __PYX_ERR(0, 969, __pyx_L1_error)
0970: def _(x:int , y: int):
+0971: return random.randrange(x, y)
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randrange); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_v_x, __pyx_v_y}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0972:
+0973: def clm_random(*args):
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_69clm_random(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_69clm_random = {"clm_random", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_8pysndlib_3clm_69clm_random, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_69clm_random(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_args = 0;
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("clm_random (wrapper)", 0);
if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "clm_random", 0))) return NULL;
__Pyx_INCREF(__pyx_args);
__pyx_v_args = __pyx_args;
__pyx_r = __pyx_pf_8pysndlib_3clm_68clm_random(__pyx_self, __pyx_v_args);
/* function exit code */
__Pyx_DECREF(__pyx_v_args);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_68clm_random(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_args) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("clm_random", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_AddTraceback("pysndlib.clm.clm_random", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__152 = PyTuple_Pack(1, __pyx_n_s_args); if (unlikely(!__pyx_tuple__152)) __PYX_ERR(0, 973, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__152);
__Pyx_GIVEREF(__pyx_tuple__152);
/* … */
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_69clm_random, 0, __pyx_n_s_clm_random, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__153)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 973, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_clm_random, __pyx_t_41) < 0) __PYX_ERR(0, 973, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__153 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__152, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_clm_random, 973, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__153)) __PYX_ERR(0, 973, __pyx_L1_error)
+0974: if len(args) == 0:
__pyx_t_1 = PyTuple_GET_SIZE(__pyx_v_args); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 974, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 == 0); if (__pyx_t_2) { /* … */ }
+0975: return random.random()
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_random); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 975, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_random); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 975, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[1] = {__pyx_t_4, }; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 975, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0;
+0976: elif len(args) == 1:
__pyx_t_1 = PyTuple_GET_SIZE(__pyx_v_args); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 976, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 == 1); if (__pyx_t_2) { /* … */ }
+0977: return _random(args[0])
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_random_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 977, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 977, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_4}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 977, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0;
0978: else:
+0979: return _random2(args[0], args[1])
/*else*/ {
__Pyx_XDECREF(__pyx_r);
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_random2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 979, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_4 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 979, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_7 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 979, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_8 = NULL;
__pyx_t_6 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_8)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_8);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
__pyx_t_6 = 1;
}
}
{
PyObject *__pyx_callargs[3] = {__pyx_t_8, __pyx_t_4, __pyx_t_7};
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6);
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 979, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
}
0980:
0981:
0982: # --------------- just some extra utils ---------------- #
0983:
0984: # --------------- clamp ---------------- #
+0985: @singledispatch
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_71clamp(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_71clamp = {"clamp", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_71clamp, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_71clamp(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED PyObject *__pyx_v_x = 0;
CYTHON_UNUSED PyObject *__pyx_v_lo = 0;
CYTHON_UNUSED PyObject *__pyx_v_hi = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("clamp (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_lo,&__pyx_n_s_hi,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 985, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lo)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 985, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("clamp", 1, 3, 3, 1); __PYX_ERR(0, 985, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hi)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 985, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("clamp", 1, 3, 3, 2); __PYX_ERR(0, 985, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "clamp") < 0)) __PYX_ERR(0, 985, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = values[0];
__pyx_v_lo = values[1];
__pyx_v_hi = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("clamp", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 985, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.clamp", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_70clamp(__pyx_self, __pyx_v_x, __pyx_v_lo, __pyx_v_hi);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_70clamp(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_x, CYTHON_UNUSED PyObject *__pyx_v_lo, CYTHON_UNUSED PyObject *__pyx_v_hi) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("clamp", 0);
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_singledispatch); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 985, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
/* … */
__pyx_tuple__154 = PyTuple_Pack(3, __pyx_n_s_x, __pyx_n_s_lo, __pyx_n_s_hi); if (unlikely(!__pyx_tuple__154)) __PYX_ERR(0, 985, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__154);
__Pyx_GIVEREF(__pyx_tuple__154);
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_71clamp, 0, __pyx_n_s_clamp, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__155)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 985, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__pyx_t_40 = __Pyx_PyObject_CallOneArg(__pyx_t_41, __pyx_t_37); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 985, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_clamp, __pyx_t_40) < 0) __PYX_ERR(0, 985, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__155 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_clamp, 985, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__155)) __PYX_ERR(0, 985, __pyx_L1_error)
0986: def clamp(x, lo, hi):
0987: pass
0988:
+0989: @clamp.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_73_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_73_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_73_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_73_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_x;
PyObject *__pyx_v_lo = 0;
PyObject *__pyx_v_hi = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_lo,&__pyx_n_s_hi,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 989, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lo)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 989, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 1); __PYX_ERR(0, 989, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hi)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 989, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 2); __PYX_ERR(0, 989, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 989, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 990, __pyx_L3_error)
__pyx_v_lo = values[1];
__pyx_v_hi = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 989, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_72_(__pyx_self, __pyx_v_x, __pyx_v_lo, __pyx_v_hi);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_72_(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_x, PyObject *__pyx_v_lo, PyObject *__pyx_v_hi) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_clamp); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 989, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_register); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 989, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 989, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_x, __pyx_n_s_float) < 0) __PYX_ERR(0, 989, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_73_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__156)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 989, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_41); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 989, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_40) < 0) __PYX_ERR(0, 989, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 989, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) __PYX_ERR(0, 989, __pyx_L1_error)
0990: def _(x: float, lo, hi):
+0991: return float(max(min(x, hi),lo))
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_lo); __pyx_t_1 = __pyx_v_lo; __Pyx_INCREF(__pyx_v_hi); __pyx_t_2 = __pyx_v_hi; __pyx_t_3 = __pyx_v_x; __pyx_t_5 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 991, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 991, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_7) { __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = __pyx_t_2; } else { __pyx_t_6 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = __pyx_t_6; __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_INCREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_6 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 991, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 991, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_7) { __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = __pyx_t_1; } else { __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = __pyx_t_2; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyNumber_Float(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0992:
+0993: @clamp.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_75_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_75_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_75_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_75_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
PyObject *__pyx_v_lo = 0;
PyObject *__pyx_v_hi = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_lo,&__pyx_n_s_hi,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 993, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lo)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 993, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 1); __PYX_ERR(0, 993, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hi)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 993, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 2); __PYX_ERR(0, 993, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 993, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = ((PyObject*)values[0]);
__pyx_v_lo = values[1];
__pyx_v_hi = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 993, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyInt_Type), 0, "x", 1))) __PYX_ERR(0, 994, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_74_(__pyx_self, __pyx_v_x, __pyx_v_lo, __pyx_v_hi);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_74_(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_lo, PyObject *__pyx_v_hi) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_clamp); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 993, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_register); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 993, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 993, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_x, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 993, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_75_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__157)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 993, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyObject_CallOneArg(__pyx_t_41, __pyx_t_37); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 993, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_40) < 0) __PYX_ERR(0, 993, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__157 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 993, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__157)) __PYX_ERR(0, 993, __pyx_L1_error)
0994: def _(x: int, lo, hi):
+0995: return int(max(min(x, hi),lo))
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_lo); __pyx_t_1 = __pyx_v_lo; __Pyx_INCREF(__pyx_v_hi); __pyx_t_2 = __pyx_v_hi; __Pyx_INCREF(__pyx_v_x); __pyx_t_3 = __pyx_v_x; __pyx_t_5 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 995, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 995, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_6) { __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = __pyx_t_2; } else { __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = __pyx_t_3; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_INCREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 995, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 995, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_6) { __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = __pyx_t_1; } else { __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = __pyx_t_2; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 995, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0996:
+0997: @clamp.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_77_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_77_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_77_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_77_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyArrayObject *__pyx_v_x = 0;
PyObject *__pyx_v_lo = 0;
PyObject *__pyx_v_hi = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_lo,&__pyx_n_s_hi,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 997, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lo)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 997, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 1); __PYX_ERR(0, 997, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hi)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 997, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 2); __PYX_ERR(0, 997, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 997, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = ((PyArrayObject *)values[0]);
__pyx_v_lo = values[1];
__pyx_v_hi = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 997, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_ptype_5numpy_ndarray, 0, "x", 0))) __PYX_ERR(0, 998, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_76_(__pyx_self, __pyx_v_x, __pyx_v_lo, __pyx_v_hi);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_76_(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_x, PyObject *__pyx_v_lo, PyObject *__pyx_v_hi) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_clamp); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 997, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_register); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 997, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 997, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_x, __pyx_kp_s_np_ndarray) < 0) __PYX_ERR(0, 997, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_77_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__158)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 997, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_41); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 997, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_40) < 0) __PYX_ERR(0, 997, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 997, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) __PYX_ERR(0, 997, __pyx_L1_error)
0998: def _(x: np.ndarray, lo, hi):
+0999: return np.clip(x, lo, hi)
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 999, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_clip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 999, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[4] = {__pyx_t_2, ((PyObject *)__pyx_v_x), __pyx_v_lo, __pyx_v_hi}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 3+__pyx_t_4); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 999, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
1000:
1001:
+1002: @clamp.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_79_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_79_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_79_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_79_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
PyObject *__pyx_v_lo = 0;
PyObject *__pyx_v_hi = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_lo,&__pyx_n_s_hi,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1002, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lo)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1002, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 1); __PYX_ERR(0, 1002, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hi)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1002, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 2); __PYX_ERR(0, 1002, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1002, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = ((PyObject*)values[0]);
__pyx_v_lo = values[1];
__pyx_v_hi = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1002, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyList_Type), 0, "x", 1))) __PYX_ERR(0, 1003, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_78_(__pyx_self, __pyx_v_x, __pyx_v_lo, __pyx_v_hi);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
static PyObject *__pyx_pf_8pysndlib_3clm_78_(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_lo, PyObject *__pyx_v_hi) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct___ *__pyx_cur_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
__pyx_cur_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct___ *)__pyx_tp_new_8pysndlib_3clm___pyx_scope_struct___(__pyx_ptype_8pysndlib_3clm___pyx_scope_struct___, __pyx_empty_tuple, NULL);
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct___ *)Py_None);
__Pyx_INCREF(Py_None);
__PYX_ERR(0, 1002, __pyx_L1_error)
} else {
__Pyx_GOTREF((PyObject *)__pyx_cur_scope);
}
__pyx_cur_scope->__pyx_v_lo = __pyx_v_lo;
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_lo);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_lo);
__pyx_cur_scope->__pyx_v_hi = __pyx_v_hi;
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_hi);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_hi);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_DECREF((PyObject *)__pyx_cur_scope);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_clamp); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1002, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_register); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1002, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1002, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_x, __pyx_n_s_list) < 0) __PYX_ERR(0, 1002, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_79_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__159)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1002, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyObject_CallOneArg(__pyx_t_41, __pyx_t_37); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1002, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_40) < 0) __PYX_ERR(0, 1002, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__159 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1002, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__159)) __PYX_ERR(0, 1002, __pyx_L1_error)
/* … */
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct___ {
PyObject_HEAD
PyObject *__pyx_v_hi;
PyObject *__pyx_v_lo;
};
1003: def _(x: list, lo, hi):
+1004: return list(map(lambda z : clamp(z,lo,hi), x))
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_1__lambda(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_1__lambda = {"lambda", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_1__lambda, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_1__lambda(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_z = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("lambda (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_z,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_z)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1004, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "lambda") < 0)) __PYX_ERR(0, 1004, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_z = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("lambda", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1004, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._.lambda", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_lambda_funcdef_lambda(__pyx_self, __pyx_v_z);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_lambda_funcdef_lambda(PyObject *__pyx_self, PyObject *__pyx_v_z) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct___ *__pyx_cur_scope;
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct___ *__pyx_outer_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("lambda", 0);
__pyx_outer_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct___ *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
__Pyx_XDECREF(__pyx_r);
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_clamp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1004, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (unlikely(!__pyx_cur_scope->__pyx_v_lo)) { __Pyx_RaiseClosureNameError("lo"); __PYX_ERR(0, 1004, __pyx_L1_error) }
if (unlikely(!__pyx_cur_scope->__pyx_v_hi)) { __Pyx_RaiseClosureNameError("hi"); __PYX_ERR(0, 1004, __pyx_L1_error) }
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
__pyx_t_4 = 1;
}
}
{
PyObject *__pyx_callargs[4] = {__pyx_t_3, __pyx_v_z, __pyx_cur_scope->__pyx_v_lo, __pyx_cur_scope->__pyx_v_hi};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 3+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1004, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm._.lambda", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_1__lambda, 0, __pyx_n_s_locals_lambda, ((PyObject*)__pyx_cur_scope), __pyx_n_s_pysndlib_clm, __pyx_d, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1004, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1004, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
__Pyx_INCREF(__pyx_v_x);
__Pyx_GIVEREF(__pyx_v_x);
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_x);
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_map, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1004, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1004, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
1005:
1006: # --------------- clip ---------------- #
1007:
+1008: @singledispatch
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_81clip(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_81clip = {"clip", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_81clip, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_81clip(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED PyObject *__pyx_v_x = 0;
CYTHON_UNUSED PyObject *__pyx_v_lo = 0;
CYTHON_UNUSED PyObject *__pyx_v_hi = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("clip (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_lo,&__pyx_n_s_hi,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1008, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lo)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1008, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("clip", 1, 3, 3, 1); __PYX_ERR(0, 1008, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hi)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1008, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("clip", 1, 3, 3, 2); __PYX_ERR(0, 1008, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "clip") < 0)) __PYX_ERR(0, 1008, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = values[0];
__pyx_v_lo = values[1];
__pyx_v_hi = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("clip", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1008, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.clip", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_80clip(__pyx_self, __pyx_v_x, __pyx_v_lo, __pyx_v_hi);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_80clip(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_x, CYTHON_UNUSED PyObject *__pyx_v_lo, CYTHON_UNUSED PyObject *__pyx_v_hi) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("clip", 0);
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_singledispatch); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1008, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_81clip, 0, __pyx_n_s_clip, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__160)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1008, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_t_37); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1008, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_clip, __pyx_t_41) < 0) __PYX_ERR(0, 1008, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_clip, 1008, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) __PYX_ERR(0, 1008, __pyx_L1_error)
1009: def clip(x, lo, hi):
1010: pass
1011:
1012: # same as clamp
+1013: @clip.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_83_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_83_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_83_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_83_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_x;
PyObject *__pyx_v_lo = 0;
PyObject *__pyx_v_hi = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_lo,&__pyx_n_s_hi,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1013, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lo)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1013, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 1); __PYX_ERR(0, 1013, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hi)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1013, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 2); __PYX_ERR(0, 1013, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1013, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1014, __pyx_L3_error)
__pyx_v_lo = values[1];
__pyx_v_hi = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1013, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_82_(__pyx_self, __pyx_v_x, __pyx_v_lo, __pyx_v_hi);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_82_(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_x, PyObject *__pyx_v_lo, PyObject *__pyx_v_hi) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_clip); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1013, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_register); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1013, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1013, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_n_s_float) < 0) __PYX_ERR(0, 1013, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_83_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__161)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1013, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_40); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1013, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_41) < 0) __PYX_ERR(0, 1013, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__161 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1013, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__161)) __PYX_ERR(0, 1013, __pyx_L1_error)
1014: def _(x: float, lo, hi):
+1015: return float(max(min(x, hi),lo))
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_lo); __pyx_t_1 = __pyx_v_lo; __Pyx_INCREF(__pyx_v_hi); __pyx_t_2 = __pyx_v_hi; __pyx_t_3 = __pyx_v_x; __pyx_t_5 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1015, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1015, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1015, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_7) { __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = __pyx_t_2; } else { __pyx_t_6 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1015, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = __pyx_t_6; __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_INCREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_6 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1015, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1015, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_7) { __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = __pyx_t_1; } else { __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = __pyx_t_2; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyNumber_Float(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1015, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
1016:
+1017: @clip.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_85_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_85_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_85_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_85_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
PyObject *__pyx_v_lo = 0;
PyObject *__pyx_v_hi = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_lo,&__pyx_n_s_hi,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1017, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lo)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1017, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 1); __PYX_ERR(0, 1017, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hi)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1017, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 2); __PYX_ERR(0, 1017, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1017, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = ((PyObject*)values[0]);
__pyx_v_lo = values[1];
__pyx_v_hi = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1017, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyInt_Type), 0, "x", 1))) __PYX_ERR(0, 1018, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_84_(__pyx_self, __pyx_v_x, __pyx_v_lo, __pyx_v_hi);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_84_(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_lo, PyObject *__pyx_v_hi) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_clip); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1017, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_register); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1017, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1017, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 1017, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_85_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__162)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1017, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_t_37); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1017, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_41) < 0) __PYX_ERR(0, 1017, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1017, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) __PYX_ERR(0, 1017, __pyx_L1_error)
1018: def _(x: int, lo, hi):
+1019: return int(max(min(x, hi),lo))
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_lo); __pyx_t_1 = __pyx_v_lo; __Pyx_INCREF(__pyx_v_hi); __pyx_t_2 = __pyx_v_hi; __Pyx_INCREF(__pyx_v_x); __pyx_t_3 = __pyx_v_x; __pyx_t_5 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1019, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 1019, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_6) { __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = __pyx_t_2; } else { __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = __pyx_t_3; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_INCREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1019, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 1019, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_6) { __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = __pyx_t_1; } else { __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = __pyx_t_2; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1019, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
1020:
+1021: @clip.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_87_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_87_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_87_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_87_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyArrayObject *__pyx_v_x = 0;
PyObject *__pyx_v_lo = 0;
PyObject *__pyx_v_hi = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_lo,&__pyx_n_s_hi,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1021, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lo)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1021, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 1); __PYX_ERR(0, 1021, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hi)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1021, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 2); __PYX_ERR(0, 1021, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1021, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = ((PyArrayObject *)values[0]);
__pyx_v_lo = values[1];
__pyx_v_hi = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1021, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_ptype_5numpy_ndarray, 0, "x", 0))) __PYX_ERR(0, 1022, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_86_(__pyx_self, __pyx_v_x, __pyx_v_lo, __pyx_v_hi);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_86_(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_x, PyObject *__pyx_v_lo, PyObject *__pyx_v_hi) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_clip); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1021, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_register); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1021, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1021, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_kp_s_np_ndarray) < 0) __PYX_ERR(0, 1021, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_87_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__163)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1021, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_40); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1021, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_41) < 0) __PYX_ERR(0, 1021, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__163 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1021, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__163)) __PYX_ERR(0, 1021, __pyx_L1_error)
1022: def _(x: np.ndarray, lo, hi):
+1023: return np.clip(x, lo, hi)
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1023, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_clip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1023, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[4] = {__pyx_t_2, ((PyObject *)__pyx_v_x), __pyx_v_lo, __pyx_v_hi}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 3+__pyx_t_4); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1023, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
1024:
1025:
+1026: @clip.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_89_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_89_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_89_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_89_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
PyObject *__pyx_v_lo = 0;
PyObject *__pyx_v_hi = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_lo,&__pyx_n_s_hi,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1026, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lo)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1026, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 1); __PYX_ERR(0, 1026, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hi)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1026, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 2); __PYX_ERR(0, 1026, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1026, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = ((PyObject*)values[0]);
__pyx_v_lo = values[1];
__pyx_v_hi = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1026, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyList_Type), 0, "x", 1))) __PYX_ERR(0, 1027, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_88_(__pyx_self, __pyx_v_x, __pyx_v_lo, __pyx_v_hi);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
static PyObject *__pyx_pf_8pysndlib_3clm_88_(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_lo, PyObject *__pyx_v_hi) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_1__ *__pyx_cur_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
__pyx_cur_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_1__ *)__pyx_tp_new_8pysndlib_3clm___pyx_scope_struct_1__(__pyx_ptype_8pysndlib_3clm___pyx_scope_struct_1__, __pyx_empty_tuple, NULL);
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_1__ *)Py_None);
__Pyx_INCREF(Py_None);
__PYX_ERR(0, 1026, __pyx_L1_error)
} else {
__Pyx_GOTREF((PyObject *)__pyx_cur_scope);
}
__pyx_cur_scope->__pyx_v_lo = __pyx_v_lo;
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_lo);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_lo);
__pyx_cur_scope->__pyx_v_hi = __pyx_v_hi;
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_hi);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_hi);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_DECREF((PyObject *)__pyx_cur_scope);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_clip); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1026, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_register); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1026, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1026, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_n_s_list) < 0) __PYX_ERR(0, 1026, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_89_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__164)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1026, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_t_37); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1026, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_41) < 0) __PYX_ERR(0, 1026, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1026, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) __PYX_ERR(0, 1026, __pyx_L1_error)
/* … */
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_1__ {
PyObject_HEAD
PyObject *__pyx_v_hi;
PyObject *__pyx_v_lo;
};
1027: def _(x: list, lo, hi):
+1028: return list(map(lambda z : clip(z,lo,hi), x))
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_1__1lambda1(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_1__1lambda1 = {"lambda1", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_1__1lambda1, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_1__1lambda1(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_z = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("lambda1 (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_z,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_z)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1028, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "lambda1") < 0)) __PYX_ERR(0, 1028, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_z = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("lambda1", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1028, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._.lambda1", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_lambda_funcdef_lambda1(__pyx_self, __pyx_v_z);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_lambda_funcdef_lambda1(PyObject *__pyx_self, PyObject *__pyx_v_z) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_1__ *__pyx_cur_scope;
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_1__ *__pyx_outer_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("lambda1", 0);
__pyx_outer_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_1__ *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
__Pyx_XDECREF(__pyx_r);
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_clip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1028, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (unlikely(!__pyx_cur_scope->__pyx_v_lo)) { __Pyx_RaiseClosureNameError("lo"); __PYX_ERR(0, 1028, __pyx_L1_error) }
if (unlikely(!__pyx_cur_scope->__pyx_v_hi)) { __Pyx_RaiseClosureNameError("hi"); __PYX_ERR(0, 1028, __pyx_L1_error) }
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
__pyx_t_4 = 1;
}
}
{
PyObject *__pyx_callargs[4] = {__pyx_t_3, __pyx_v_z, __pyx_cur_scope->__pyx_v_lo, __pyx_cur_scope->__pyx_v_hi};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 3+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1028, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm._.lambda1", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_1__1lambda1, 0, __pyx_n_s_locals_lambda, ((PyObject*)__pyx_cur_scope), __pyx_n_s_pysndlib_clm, __pyx_d, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1028, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1028, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
__Pyx_INCREF(__pyx_v_x);
__Pyx_GIVEREF(__pyx_v_x);
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_x);
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_map, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1028, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1028, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
1029:
1030: # --------------- fold ---------------- #
1031: # todo: fix as not working for negative numbers
+1032: @singledispatch
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_91fold(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_91fold = {"fold", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_91fold, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_91fold(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED PyObject *__pyx_v_x = 0;
CYTHON_UNUSED PyObject *__pyx_v_lo = 0;
CYTHON_UNUSED PyObject *__pyx_v_hi = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("fold (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_lo,&__pyx_n_s_hi,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1032, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lo)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1032, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("fold", 1, 3, 3, 1); __PYX_ERR(0, 1032, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hi)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1032, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("fold", 1, 3, 3, 2); __PYX_ERR(0, 1032, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "fold") < 0)) __PYX_ERR(0, 1032, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = values[0];
__pyx_v_lo = values[1];
__pyx_v_hi = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("fold", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1032, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.fold", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_90fold(__pyx_self, __pyx_v_x, __pyx_v_lo, __pyx_v_hi);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_90fold(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_x, CYTHON_UNUSED PyObject *__pyx_v_lo, CYTHON_UNUSED PyObject *__pyx_v_hi) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("fold", 0);
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_singledispatch); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1032, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_91fold, 0, __pyx_n_s_fold, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__165)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1032, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__pyx_t_40 = __Pyx_PyObject_CallOneArg(__pyx_t_41, __pyx_t_37); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1032, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_fold, __pyx_t_40) < 0) __PYX_ERR(0, 1032, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__165 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_fold, 1032, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__165)) __PYX_ERR(0, 1032, __pyx_L1_error)
1033: def fold(x, lo, hi):
1034: pass
1035:
+1036: @fold.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_93_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_93_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_93_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_93_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_x;
PyObject *__pyx_v_lo = 0;
PyObject *__pyx_v_hi = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_lo,&__pyx_n_s_hi,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1036, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lo)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1036, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 1); __PYX_ERR(0, 1036, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hi)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1036, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 2); __PYX_ERR(0, 1036, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1036, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1037, __pyx_L3_error)
__pyx_v_lo = values[1];
__pyx_v_hi = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1036, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_92_(__pyx_self, __pyx_v_x, __pyx_v_lo, __pyx_v_hi);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_92_(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_x, PyObject *__pyx_v_lo, PyObject *__pyx_v_hi) {
PyObject *__pyx_v_r = NULL;
PyObject *__pyx_v_v = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_r);
__Pyx_XDECREF(__pyx_v_v);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_fold); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1036, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_register); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1036, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_tuple__166 = PyTuple_Pack(5, __pyx_n_s_x, __pyx_n_s_lo, __pyx_n_s_hi, __pyx_n_s_r, __pyx_n_s_v); if (unlikely(!__pyx_tuple__166)) __PYX_ERR(0, 1036, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__166);
__Pyx_GIVEREF(__pyx_tuple__166);
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1036, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_x, __pyx_n_s_float) < 0) __PYX_ERR(0, 1036, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_93_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__167)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1036, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_41); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1036, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_40) < 0) __PYX_ERR(0, 1036, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__167 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__166, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1036, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__167)) __PYX_ERR(0, 1036, __pyx_L1_error)
1037: def _(x: float, lo, hi):
+1038: r = hi-lo
__pyx_t_1 = PyNumber_Subtract(__pyx_v_hi, __pyx_v_lo); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_r = __pyx_t_1; __pyx_t_1 = 0;
+1039: v = (x-lo)/r
__pyx_t_1 = PyFloat_FromDouble(__pyx_v_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyNumber_Subtract(__pyx_t_1, __pyx_v_lo); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_v_r); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_v = __pyx_t_1; __pyx_t_1 = 0;
+1040: return r * (1.0 - math.fabs(math.fmod(v,2.0) - 1.0)) + lo
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_math); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_fabs); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_math); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_fmod); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_v_v, __pyx_float_2_0}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __pyx_t_5 = __Pyx_PyFloat_SubtractObjC(__pyx_t_2, __pyx_float_1_0, 1.0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_t_3 = __Pyx_PyFloat_SubtractCObj(__pyx_float_1_0, __pyx_t_1, 1.0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_v_r, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_v_lo); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0;
1041:
+1042: @fold.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_95_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_95_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_95_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_95_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
PyObject *__pyx_v_lo = 0;
PyObject *__pyx_v_hi = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_lo,&__pyx_n_s_hi,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1042, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lo)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1042, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 1); __PYX_ERR(0, 1042, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hi)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1042, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 2); __PYX_ERR(0, 1042, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1042, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = ((PyObject*)values[0]);
__pyx_v_lo = values[1];
__pyx_v_hi = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1042, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyInt_Type), 0, "x", 1))) __PYX_ERR(0, 1043, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_94_(__pyx_self, __pyx_v_x, __pyx_v_lo, __pyx_v_hi);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_94_(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_lo, PyObject *__pyx_v_hi) {
PyObject *__pyx_v_r = NULL;
PyObject *__pyx_v_v = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_r);
__Pyx_XDECREF(__pyx_v_v);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_fold); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1042, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_register); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1042, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1042, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_x, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 1042, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_95_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__168)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1042, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyObject_CallOneArg(__pyx_t_41, __pyx_t_37); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1042, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_40) < 0) __PYX_ERR(0, 1042, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__168 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__166, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1042, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__168)) __PYX_ERR(0, 1042, __pyx_L1_error)
1043: def _(x: int, lo, hi):
+1044: r = hi-lo
__pyx_t_1 = PyNumber_Subtract(__pyx_v_hi, __pyx_v_lo); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_r = __pyx_t_1; __pyx_t_1 = 0;
+1045: v = (x-lo)/r
__pyx_t_1 = PyNumber_Subtract(__pyx_v_x, __pyx_v_lo); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_r); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_v = __pyx_t_2; __pyx_t_2 = 0;
+1046: return int(r * (1.0 - math.fabs(math.fmod(v,2.0) - 1.0)) + lo)
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_math); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_fabs); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_math); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_fmod); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_v_v, __pyx_float_2_0}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __pyx_t_5 = __Pyx_PyFloat_SubtractObjC(__pyx_t_1, __pyx_float_1_0, 1.0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_5}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_t_3 = __Pyx_PyFloat_SubtractCObj(__pyx_float_1_0, __pyx_t_2, 1.0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_v_r, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_v_lo); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
1047:
1048:
+1049: _vfold = np.vectorize(fold)
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_np); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_vectorize); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0; __Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_fold); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_40); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0; __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_vfold, __pyx_t_41) < 0) __PYX_ERR(0, 1049, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
1050:
+1051: @fold.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_97_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_97_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_97_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_97_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyArrayObject *__pyx_v_x = 0;
PyObject *__pyx_v_lo = 0;
PyObject *__pyx_v_hi = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_lo,&__pyx_n_s_hi,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1051, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lo)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1051, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 1); __PYX_ERR(0, 1051, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hi)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1051, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 2); __PYX_ERR(0, 1051, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1051, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = ((PyArrayObject *)values[0]);
__pyx_v_lo = values[1];
__pyx_v_hi = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1051, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_ptype_5numpy_ndarray, 0, "x", 0))) __PYX_ERR(0, 1052, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_96_(__pyx_self, __pyx_v_x, __pyx_v_lo, __pyx_v_hi);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_96_(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_x, PyObject *__pyx_v_lo, PyObject *__pyx_v_hi) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_fold); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1051, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_register); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1051, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1051, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_kp_s_np_ndarray) < 0) __PYX_ERR(0, 1051, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_97_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__169)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1051, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_t_37); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1051, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_41) < 0) __PYX_ERR(0, 1051, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__169 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1051, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__169)) __PYX_ERR(0, 1051, __pyx_L1_error)
1052: def _(x: np.ndarray, lo, hi):
+1053: return _vfold(x, lo, hi)
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_vfold); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1053, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[4] = {__pyx_t_3, ((PyObject *)__pyx_v_x), __pyx_v_lo, __pyx_v_hi}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 3+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1053, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
1054:
+1055: @fold.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_99_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_99_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_99_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_99_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
PyObject *__pyx_v_lo = 0;
PyObject *__pyx_v_hi = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_lo,&__pyx_n_s_hi,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1055, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lo)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1055, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 1); __PYX_ERR(0, 1055, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hi)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1055, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 2); __PYX_ERR(0, 1055, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1055, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = ((PyObject*)values[0]);
__pyx_v_lo = values[1];
__pyx_v_hi = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1055, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyList_Type), 0, "x", 1))) __PYX_ERR(0, 1056, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_98_(__pyx_self, __pyx_v_x, __pyx_v_lo, __pyx_v_hi);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
static PyObject *__pyx_pf_8pysndlib_3clm_98_(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_lo, PyObject *__pyx_v_hi) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_2__ *__pyx_cur_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
__pyx_cur_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_2__ *)__pyx_tp_new_8pysndlib_3clm___pyx_scope_struct_2__(__pyx_ptype_8pysndlib_3clm___pyx_scope_struct_2__, __pyx_empty_tuple, NULL);
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_2__ *)Py_None);
__Pyx_INCREF(Py_None);
__PYX_ERR(0, 1055, __pyx_L1_error)
} else {
__Pyx_GOTREF((PyObject *)__pyx_cur_scope);
}
__pyx_cur_scope->__pyx_v_lo = __pyx_v_lo;
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_lo);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_lo);
__pyx_cur_scope->__pyx_v_hi = __pyx_v_hi;
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_hi);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_hi);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_DECREF((PyObject *)__pyx_cur_scope);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_fold); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1055, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_register); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1055, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1055, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_n_s_list) < 0) __PYX_ERR(0, 1055, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_99_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__170)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1055, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_40); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1055, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_41) < 0) __PYX_ERR(0, 1055, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__170 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1055, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__170)) __PYX_ERR(0, 1055, __pyx_L1_error)
/* … */
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_2__ {
PyObject_HEAD
PyObject *__pyx_v_hi;
PyObject *__pyx_v_lo;
};
1056: def _(x: list, lo, hi):
+1057: return list(map(lambda z : fold(z,lo,hi), x))
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_1__2lambda2(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_1__2lambda2 = {"lambda2", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_1__2lambda2, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_1__2lambda2(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_z = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("lambda2 (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_z,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_z)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1057, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "lambda2") < 0)) __PYX_ERR(0, 1057, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_z = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("lambda2", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1057, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._.lambda2", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_lambda_funcdef_lambda2(__pyx_self, __pyx_v_z);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_lambda_funcdef_lambda2(PyObject *__pyx_self, PyObject *__pyx_v_z) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_2__ *__pyx_cur_scope;
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_2__ *__pyx_outer_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("lambda2", 0);
__pyx_outer_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_2__ *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
__Pyx_XDECREF(__pyx_r);
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_fold); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1057, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (unlikely(!__pyx_cur_scope->__pyx_v_lo)) { __Pyx_RaiseClosureNameError("lo"); __PYX_ERR(0, 1057, __pyx_L1_error) }
if (unlikely(!__pyx_cur_scope->__pyx_v_hi)) { __Pyx_RaiseClosureNameError("hi"); __PYX_ERR(0, 1057, __pyx_L1_error) }
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
__pyx_t_4 = 1;
}
}
{
PyObject *__pyx_callargs[4] = {__pyx_t_3, __pyx_v_z, __pyx_cur_scope->__pyx_v_lo, __pyx_cur_scope->__pyx_v_hi};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 3+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1057, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm._.lambda2", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_1__2lambda2, 0, __pyx_n_s_locals_lambda, ((PyObject*)__pyx_cur_scope), __pyx_n_s_pysndlib_clm, __pyx_d, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1057, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1057, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
__Pyx_INCREF(__pyx_v_x);
__Pyx_GIVEREF(__pyx_v_x);
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_x);
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_map, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1057, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1057, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
1058:
1059:
1060: # --------------- wrap ---------------- #
1061:
1062: # todo fix for negative nuymbers
1063:
+1064: @singledispatch
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_101wrap(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_101wrap = {"wrap", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_101wrap, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_101wrap(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED PyObject *__pyx_v_x = 0;
CYTHON_UNUSED PyObject *__pyx_v_lo = 0;
CYTHON_UNUSED PyObject *__pyx_v_hi = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("wrap (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_lo,&__pyx_n_s_hi,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1064, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lo)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1064, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("wrap", 1, 3, 3, 1); __PYX_ERR(0, 1064, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hi)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1064, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("wrap", 1, 3, 3, 2); __PYX_ERR(0, 1064, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "wrap") < 0)) __PYX_ERR(0, 1064, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = values[0];
__pyx_v_lo = values[1];
__pyx_v_hi = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("wrap", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1064, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_100wrap(__pyx_self, __pyx_v_x, __pyx_v_lo, __pyx_v_hi);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_100wrap(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_x, CYTHON_UNUSED PyObject *__pyx_v_lo, CYTHON_UNUSED PyObject *__pyx_v_hi) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("wrap", 0);
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_singledispatch); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1064, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_101wrap, 0, __pyx_n_s_wrap, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__171)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1064, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_37 = __Pyx_PyObject_CallOneArg(__pyx_t_41, __pyx_t_40); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1064, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_wrap, __pyx_t_37) < 0) __PYX_ERR(0, 1064, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__171 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_wrap, 1064, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__171)) __PYX_ERR(0, 1064, __pyx_L1_error)
1065: def wrap(x, lo, hi):
1066: pass
1067:
+1068: @wrap.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_103_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_103_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_103_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_103_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_x;
PyObject *__pyx_v_lo = 0;
PyObject *__pyx_v_hi = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_lo,&__pyx_n_s_hi,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1068, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lo)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1068, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 1); __PYX_ERR(0, 1068, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hi)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1068, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 2); __PYX_ERR(0, 1068, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1068, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1069, __pyx_L3_error)
__pyx_v_lo = values[1];
__pyx_v_hi = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1068, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_102_(__pyx_self, __pyx_v_x, __pyx_v_lo, __pyx_v_hi);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_102_(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_x, PyObject *__pyx_v_lo, PyObject *__pyx_v_hi) {
PyObject *__pyx_v_r = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_r);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_wrap); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1068, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_37, __pyx_n_s_register); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1068, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_tuple__172 = PyTuple_Pack(4, __pyx_n_s_x, __pyx_n_s_lo, __pyx_n_s_hi, __pyx_n_s_r); if (unlikely(!__pyx_tuple__172)) __PYX_ERR(0, 1068, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__172);
__Pyx_GIVEREF(__pyx_tuple__172);
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1068, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_x, __pyx_n_s_float) < 0) __PYX_ERR(0, 1068, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_103_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__173)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1068, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_t_41); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1068, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_37) < 0) __PYX_ERR(0, 1068, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__173 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__172, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1068, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__173)) __PYX_ERR(0, 1068, __pyx_L1_error)
1069: def _(x: float, lo, hi):
+1070: r = hi-lo
__pyx_t_1 = PyNumber_Subtract(__pyx_v_hi, __pyx_v_lo); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1070, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_r = __pyx_t_1; __pyx_t_1 = 0;
+1071: if x >= lo and x <= hi:
__pyx_t_1 = PyFloat_FromDouble(__pyx_v_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1071, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_v_lo, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1071, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 1071, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_4) { } else { __pyx_t_2 = __pyx_t_4; goto __pyx_L4_bool_binop_done; } __pyx_t_3 = PyFloat_FromDouble(__pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1071, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = PyObject_RichCompare(__pyx_t_3, __pyx_v_hi, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1071, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 1071, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __pyx_t_4; __pyx_L4_bool_binop_done:; if (__pyx_t_2) { /* … */ }
+1072: return x
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyFloat_FromDouble(__pyx_v_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1072, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
+1073: if x < lo:
__pyx_t_1 = PyFloat_FromDouble(__pyx_v_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1073, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_v_lo, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1073, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1073, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_2) { /* … */ }
+1074: return hi + (math.fmod((x-lo), r))
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_math); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_fmod); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyFloat_FromDouble(__pyx_v_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = PyNumber_Subtract(__pyx_t_1, __pyx_v_lo); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_t_6, __pyx_v_r}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __pyx_t_5 = PyNumber_Add(__pyx_v_hi, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0;
+1075: if x > hi:
__pyx_t_5 = PyFloat_FromDouble(__pyx_v_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1075, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, __pyx_v_hi, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1075, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1075, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_2) { /* … */ }
+1076: return lo + (math.fmod((x-hi), r))
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_math); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1076, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_fmod); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1076, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyFloat_FromDouble(__pyx_v_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1076, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyNumber_Subtract(__pyx_t_5, __pyx_v_hi); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1076, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_1, __pyx_v_r}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1076, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __pyx_t_6 = PyNumber_Add(__pyx_v_lo, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1076, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_6; __pyx_t_6 = 0; goto __pyx_L0;
1077:
+1078: @wrap.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_105_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_105_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_105_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_105_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
PyObject *__pyx_v_lo = 0;
PyObject *__pyx_v_hi = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_lo,&__pyx_n_s_hi,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1078, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lo)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1078, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 1); __PYX_ERR(0, 1078, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hi)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1078, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 2); __PYX_ERR(0, 1078, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1078, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = ((PyObject*)values[0]);
__pyx_v_lo = values[1];
__pyx_v_hi = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1078, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyInt_Type), 0, "x", 1))) __PYX_ERR(0, 1079, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_104_(__pyx_self, __pyx_v_x, __pyx_v_lo, __pyx_v_hi);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_104_(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_lo, PyObject *__pyx_v_hi) {
PyObject *__pyx_v_r = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_r);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_wrap); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1078, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_37, __pyx_n_s_register); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1078, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1078, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_x, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 1078, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_105_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__174)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1078, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyObject_CallOneArg(__pyx_t_41, __pyx_t_40); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1078, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_37) < 0) __PYX_ERR(0, 1078, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__174 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__172, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1078, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__174)) __PYX_ERR(0, 1078, __pyx_L1_error)
1079: def _(x: int, lo, hi):
+1080: r = hi-lo
__pyx_t_1 = PyNumber_Subtract(__pyx_v_hi, __pyx_v_lo); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1080, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_r = __pyx_t_1; __pyx_t_1 = 0;
+1081: if x >= lo and x <= hi:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_x, __pyx_v_lo, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1081, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 1081, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L4_bool_binop_done; } __pyx_t_1 = PyObject_RichCompare(__pyx_v_x, __pyx_v_hi, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1081, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 1081, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_2) { /* … */ }
+1082: return x
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_x); __pyx_r = __pyx_v_x; goto __pyx_L0;
+1083: if x < lo:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_x, __pyx_v_lo, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1083, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1083, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ }
+1084: return int(hi + (math.fmod((x-lo), r)))
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_math); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1084, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_fmod); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1084, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Subtract(__pyx_v_x, __pyx_v_lo); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1084, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_t_4, __pyx_v_r}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1084, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __pyx_t_5 = PyNumber_Add(__pyx_v_hi, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1084, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1084, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
+1085: if x > hi:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_x, __pyx_v_hi, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1085, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1085, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ }
+1086: return int(lo + (math.fmod((x-hi), r)))
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_math); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_fmod); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Subtract(__pyx_v_x, __pyx_v_hi); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_t_5, __pyx_v_r}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __pyx_t_4 = PyNumber_Add(__pyx_v_lo, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
1087:
1088:
+1089: _vwrap = np.vectorize(wrap)
__Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_np); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_37, __pyx_n_s_vectorize); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0; __Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_wrap); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_t_37); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0; __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_vwrap, __pyx_t_41) < 0) __PYX_ERR(0, 1089, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
1090:
+1091: @wrap.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_107_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_107_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_107_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_107_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyArrayObject *__pyx_v_x = 0;
PyObject *__pyx_v_lo = 0;
PyObject *__pyx_v_hi = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_lo,&__pyx_n_s_hi,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1091, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lo)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1091, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 1); __PYX_ERR(0, 1091, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hi)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1091, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 2); __PYX_ERR(0, 1091, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1091, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = ((PyArrayObject *)values[0]);
__pyx_v_lo = values[1];
__pyx_v_hi = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1091, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_ptype_5numpy_ndarray, 0, "x", 0))) __PYX_ERR(0, 1092, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_106_(__pyx_self, __pyx_v_x, __pyx_v_lo, __pyx_v_hi);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_106_(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_x, PyObject *__pyx_v_lo, PyObject *__pyx_v_hi) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_wrap); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1091, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_register); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1091, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1091, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_kp_s_np_ndarray) < 0) __PYX_ERR(0, 1091, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_107_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__175)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1091, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_40); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1091, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_41) < 0) __PYX_ERR(0, 1091, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__175 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1091, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__175)) __PYX_ERR(0, 1091, __pyx_L1_error)
1092: def _(x: np.ndarray, lo, hi):
+1093: return _vwrap(x, lo, hi)
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_vwrap); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[4] = {__pyx_t_3, ((PyObject *)__pyx_v_x), __pyx_v_lo, __pyx_v_hi}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 3+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
1094:
1095:
+1096: @wrap.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_109_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_109_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_109_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_109_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
PyObject *__pyx_v_lo = 0;
PyObject *__pyx_v_hi = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_lo,&__pyx_n_s_hi,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1096, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lo)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1096, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 1); __PYX_ERR(0, 1096, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hi)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1096, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 2); __PYX_ERR(0, 1096, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1096, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = ((PyObject*)values[0]);
__pyx_v_lo = values[1];
__pyx_v_hi = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1096, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyList_Type), 0, "x", 1))) __PYX_ERR(0, 1097, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_108_(__pyx_self, __pyx_v_x, __pyx_v_lo, __pyx_v_hi);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
static PyObject *__pyx_pf_8pysndlib_3clm_108_(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_lo, PyObject *__pyx_v_hi) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_3__ *__pyx_cur_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
__pyx_cur_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_3__ *)__pyx_tp_new_8pysndlib_3clm___pyx_scope_struct_3__(__pyx_ptype_8pysndlib_3clm___pyx_scope_struct_3__, __pyx_empty_tuple, NULL);
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_3__ *)Py_None);
__Pyx_INCREF(Py_None);
__PYX_ERR(0, 1096, __pyx_L1_error)
} else {
__Pyx_GOTREF((PyObject *)__pyx_cur_scope);
}
__pyx_cur_scope->__pyx_v_lo = __pyx_v_lo;
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_lo);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_lo);
__pyx_cur_scope->__pyx_v_hi = __pyx_v_hi;
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_hi);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_hi);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_DECREF((PyObject *)__pyx_cur_scope);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_wrap); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1096, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_register); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1096, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1096, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_n_s_list) < 0) __PYX_ERR(0, 1096, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_109_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__176)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1096, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_t_37); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1096, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_41) < 0) __PYX_ERR(0, 1096, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__176 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1096, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) __PYX_ERR(0, 1096, __pyx_L1_error)
/* … */
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_3__ {
PyObject_HEAD
PyObject *__pyx_v_hi;
PyObject *__pyx_v_lo;
};
1097: def _(x: list, lo, hi):
+1098: return list(map(lambda z : wrap(z,lo,hi), x))
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_1__3lambda3(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_1__3lambda3 = {"lambda3", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_1__3lambda3, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_1__3lambda3(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_z = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("lambda3 (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_z,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_z)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1098, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "lambda3") < 0)) __PYX_ERR(0, 1098, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_z = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("lambda3", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1098, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._.lambda3", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_lambda_funcdef_lambda3(__pyx_self, __pyx_v_z);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_lambda_funcdef_lambda3(PyObject *__pyx_self, PyObject *__pyx_v_z) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_3__ *__pyx_cur_scope;
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_3__ *__pyx_outer_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("lambda3", 0);
__pyx_outer_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_3__ *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
__Pyx_XDECREF(__pyx_r);
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_wrap); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1098, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (unlikely(!__pyx_cur_scope->__pyx_v_lo)) { __Pyx_RaiseClosureNameError("lo"); __PYX_ERR(0, 1098, __pyx_L1_error) }
if (unlikely(!__pyx_cur_scope->__pyx_v_hi)) { __Pyx_RaiseClosureNameError("hi"); __PYX_ERR(0, 1098, __pyx_L1_error) }
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
__pyx_t_4 = 1;
}
}
{
PyObject *__pyx_callargs[4] = {__pyx_t_3, __pyx_v_z, __pyx_cur_scope->__pyx_v_lo, __pyx_cur_scope->__pyx_v_hi};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 3+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1098, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm._.lambda3", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_1__3lambda3, 0, __pyx_n_s_locals_lambda, ((PyObject*)__pyx_cur_scope), __pyx_n_s_pysndlib_clm, __pyx_d, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1098, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1098, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
__Pyx_INCREF(__pyx_v_x);
__Pyx_GIVEREF(__pyx_v_x);
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_x);
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_map, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1098, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1098, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
1099:
1100:
1101:
1102: # --------------- smoothstep ---------------- #
+1103: @singledispatch
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_111smoothstep(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_111smoothstep = {"smoothstep", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_111smoothstep, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_111smoothstep(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED PyObject *__pyx_v_x = 0;
CYTHON_UNUSED PyObject *__pyx_v_edge0 = 0;
CYTHON_UNUSED PyObject *__pyx_v_edge1 = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("smoothstep (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_edge0,&__pyx_n_s_edge1,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1103, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_edge0)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1103, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("smoothstep", 1, 3, 3, 1); __PYX_ERR(0, 1103, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_edge1)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1103, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("smoothstep", 1, 3, 3, 2); __PYX_ERR(0, 1103, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "smoothstep") < 0)) __PYX_ERR(0, 1103, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = values[0];
__pyx_v_edge0 = values[1];
__pyx_v_edge1 = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("smoothstep", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1103, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.smoothstep", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_110smoothstep(__pyx_self, __pyx_v_x, __pyx_v_edge0, __pyx_v_edge1);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_110smoothstep(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_x, CYTHON_UNUSED PyObject *__pyx_v_edge0, CYTHON_UNUSED PyObject *__pyx_v_edge1) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("smoothstep", 0);
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_singledispatch); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1103, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
/* … */
__pyx_tuple__177 = PyTuple_Pack(3, __pyx_n_s_x, __pyx_n_s_edge0, __pyx_n_s_edge1); if (unlikely(!__pyx_tuple__177)) __PYX_ERR(0, 1103, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__177);
__Pyx_GIVEREF(__pyx_tuple__177);
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_111smoothstep, 0, __pyx_n_s_smoothstep, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__178)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1103, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__pyx_t_40 = __Pyx_PyObject_CallOneArg(__pyx_t_41, __pyx_t_37); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1103, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_smoothstep, __pyx_t_40) < 0) __PYX_ERR(0, 1103, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__178 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__177, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_smoothstep, 1103, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__178)) __PYX_ERR(0, 1103, __pyx_L1_error)
1104: def smoothstep(x, edge0, edge1):
1105: pass
1106:
+1107: @smoothstep.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_113_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_113_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_113_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_113_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_x;
double __pyx_v_edge0;
double __pyx_v_edge1;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_edge0,&__pyx_n_s_edge1,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1107, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_edge0)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1107, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 1); __PYX_ERR(0, 1107, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_edge1)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1107, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 2); __PYX_ERR(0, 1107, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1107, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1108, __pyx_L3_error)
__pyx_v_edge0 = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_edge0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1108, __pyx_L3_error)
__pyx_v_edge1 = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_edge1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1108, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1107, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_112_(__pyx_self, __pyx_v_x, __pyx_v_edge0, __pyx_v_edge1);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_112_(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_x, double __pyx_v_edge0, double __pyx_v_edge1) {
PyObject *__pyx_v_t = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_t);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_smoothstep); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1107, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_register); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1107, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_tuple__179 = PyTuple_Pack(4, __pyx_n_s_x, __pyx_n_s_edge0, __pyx_n_s_edge1, __pyx_n_s_t); if (unlikely(!__pyx_tuple__179)) __PYX_ERR(0, 1107, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__179);
__Pyx_GIVEREF(__pyx_tuple__179);
__pyx_t_40 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1107, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_x, __pyx_n_s_float) < 0) __PYX_ERR(0, 1107, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_edge0, __pyx_n_s_float) < 0) __PYX_ERR(0, 1107, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_edge1, __pyx_n_s_float) < 0) __PYX_ERR(0, 1107, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_113_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__180)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1107, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_41); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1107, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_40) < 0) __PYX_ERR(0, 1107, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__180 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__179, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1107, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__180)) __PYX_ERR(0, 1107, __pyx_L1_error)
1108: def _(x: float, edge0: float, edge1:float):
+1109: t = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_clamp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = (__pyx_v_x - __pyx_v_edge0); __pyx_t_4 = (__pyx_v_edge1 - __pyx_v_edge0); if (unlikely(__pyx_t_4 == 0)) { PyErr_SetString(PyExc_ZeroDivisionError, "float division"); __PYX_ERR(0, 1109, __pyx_L1_error) } __pyx_t_5 = PyFloat_FromDouble((__pyx_t_3 / __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[4] = {__pyx_t_6, __pyx_t_5, __pyx_float_0_0, __pyx_float_1_0}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 3+__pyx_t_7); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __pyx_v_t = __pyx_t_1; __pyx_t_1 = 0;
+1110: return t * t * (3.0 - 2.0 * t)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyNumber_Multiply(__pyx_v_t, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyNumber_Multiply(__pyx_float_2_0, __pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyFloat_SubtractCObj(__pyx_float_3_0, __pyx_t_2, 3.0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
1111:
+1112: _vsmoothstep = np.vectorize(smoothstep)
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_np); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_vectorize); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0; __Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_smoothstep); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __pyx_t_37 = __Pyx_PyObject_CallOneArg(__pyx_t_41, __pyx_t_40); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_vsmoothstep, __pyx_t_37) < 0) __PYX_ERR(0, 1112, __pyx_L1_error) __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
1113:
+1114: @smoothstep.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_115_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_115_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_115_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_115_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyArrayObject *__pyx_v_x = 0;
double __pyx_v_edge0;
double __pyx_v_edge1;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_edge0,&__pyx_n_s_edge1,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1114, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_edge0)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1114, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 1); __PYX_ERR(0, 1114, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_edge1)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1114, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 2); __PYX_ERR(0, 1114, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1114, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = ((PyArrayObject *)values[0]);
__pyx_v_edge0 = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_edge0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1115, __pyx_L3_error)
__pyx_v_edge1 = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_edge1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1115, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1114, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_ptype_5numpy_ndarray, 0, "x", 0))) __PYX_ERR(0, 1115, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_114_(__pyx_self, __pyx_v_x, __pyx_v_edge0, __pyx_v_edge1);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_114_(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_x, double __pyx_v_edge0, double __pyx_v_edge1) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_smoothstep); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1114, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_37, __pyx_n_s_register); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1114, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1114, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_x, __pyx_kp_s_np_ndarray) < 0) __PYX_ERR(0, 1114, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_edge0, __pyx_n_s_float) < 0) __PYX_ERR(0, 1114, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_edge1, __pyx_n_s_float) < 0) __PYX_ERR(0, 1114, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_115_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__181)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1114, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_t_41); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1114, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_37) < 0) __PYX_ERR(0, 1114, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__181 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__177, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1114, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__181)) __PYX_ERR(0, 1114, __pyx_L1_error)
1115: def _(x: np.ndarray, edge0: float, edge1: float):
+1116: return _vsmoothstep(x, edge0, edge1)
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_vsmoothstep); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_edge0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyFloat_FromDouble(__pyx_v_edge1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[4] = {__pyx_t_5, ((PyObject *)__pyx_v_x), __pyx_t_3, __pyx_t_4}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_6, 3+__pyx_t_6); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
1117:
+1118: @smoothstep.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_117_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_117_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_117_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_117_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED PyObject *__pyx_v_x = 0;
double __pyx_v_edge0;
double __pyx_v_edge1;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_edge0,&__pyx_n_s_edge1,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1118, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_edge0)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1118, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 1); __PYX_ERR(0, 1118, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_edge1)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1118, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 2); __PYX_ERR(0, 1118, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1118, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = ((PyObject*)values[0]);
__pyx_v_edge0 = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_edge0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1119, __pyx_L3_error)
__pyx_v_edge1 = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_edge1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1119, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1118, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyList_Type), 0, "x", 1))) __PYX_ERR(0, 1119, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_116_(__pyx_self, __pyx_v_x, __pyx_v_edge0, __pyx_v_edge1);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
static PyObject *__pyx_pf_8pysndlib_3clm_116_(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_x, double __pyx_v_edge0, double __pyx_v_edge1) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_4__ *__pyx_cur_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
__pyx_cur_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_4__ *)__pyx_tp_new_8pysndlib_3clm___pyx_scope_struct_4__(__pyx_ptype_8pysndlib_3clm___pyx_scope_struct_4__, __pyx_empty_tuple, NULL);
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_4__ *)Py_None);
__Pyx_INCREF(Py_None);
__PYX_ERR(0, 1118, __pyx_L1_error)
} else {
__Pyx_GOTREF((PyObject *)__pyx_cur_scope);
}
__pyx_cur_scope->__pyx_v_edge0 = __pyx_v_edge0;
__pyx_cur_scope->__pyx_v_edge1 = __pyx_v_edge1;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_DECREF((PyObject *)__pyx_cur_scope);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_smoothstep); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_37, __pyx_n_s_register); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_x, __pyx_n_s_list) < 0) __PYX_ERR(0, 1118, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_edge0, __pyx_n_s_float) < 0) __PYX_ERR(0, 1118, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_edge1, __pyx_n_s_float) < 0) __PYX_ERR(0, 1118, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_117_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__182)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyObject_CallOneArg(__pyx_t_41, __pyx_t_40); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_37) < 0) __PYX_ERR(0, 1118, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__182 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__177, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1118, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__182)) __PYX_ERR(0, 1118, __pyx_L1_error)
/* … */
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_4__ {
PyObject_HEAD
double __pyx_v_edge0;
double __pyx_v_edge1;
};
1119: def _(x: list, edge0: float, edge1:float):
+1120: return list(map(lambda z : smoothstep(z, edge0, edge1)))
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_1__4lambda4(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_1__4lambda4 = {"lambda4", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_1__4lambda4, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_1__4lambda4(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_z = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("lambda4 (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_z,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_z)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1120, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "lambda4") < 0)) __PYX_ERR(0, 1120, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_z = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("lambda4", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1120, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._.lambda4", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_lambda_funcdef_lambda4(__pyx_self, __pyx_v_z);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_lambda_funcdef_lambda4(PyObject *__pyx_self, PyObject *__pyx_v_z) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_4__ *__pyx_cur_scope;
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_4__ *__pyx_outer_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("lambda4", 0);
__pyx_outer_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_4__ *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
__Pyx_XDECREF(__pyx_r);
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_smoothstep); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1120, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_edge0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1120, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_edge1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1120, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
__pyx_t_6 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
__pyx_t_6 = 1;
}
}
{
PyObject *__pyx_callargs[4] = {__pyx_t_5, __pyx_v_z, __pyx_t_3, __pyx_t_4};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_6, 3+__pyx_t_6);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1120, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("pysndlib.clm._.lambda4", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_1__4lambda4, 0, __pyx_n_s_locals_lambda, ((PyObject*)__pyx_cur_scope), __pyx_n_s_pysndlib_clm, __pyx_d, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1120, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_map, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1120, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PySequence_ListKeepNew(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1120, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
1121:
1122:
1123: # --------------- step ---------------- #
+1124: @singledispatch
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_119step(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_119step = {"step", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_119step, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_119step(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED PyObject *__pyx_v_x = 0;
CYTHON_UNUSED PyObject *__pyx_v_edge = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("step (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_edge,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1124, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_edge)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1124, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("step", 1, 2, 2, 1); __PYX_ERR(0, 1124, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "step") < 0)) __PYX_ERR(0, 1124, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_x = values[0];
__pyx_v_edge = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("step", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1124, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.step", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_118step(__pyx_self, __pyx_v_x, __pyx_v_edge);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_118step(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_x, CYTHON_UNUSED PyObject *__pyx_v_edge) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("step", 0);
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_singledispatch); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1124, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
/* … */
__pyx_tuple__183 = PyTuple_Pack(2, __pyx_n_s_x, __pyx_n_s_edge); if (unlikely(!__pyx_tuple__183)) __PYX_ERR(0, 1124, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__183);
__Pyx_GIVEREF(__pyx_tuple__183);
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_119step, 0, __pyx_n_s_step, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__184)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1124, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_40); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1124, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_step, __pyx_t_41) < 0) __PYX_ERR(0, 1124, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__184 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__183, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_step, 1124, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__184)) __PYX_ERR(0, 1124, __pyx_L1_error)
1125: def step(x, edge):
1126: pass
1127:
+1128: @step.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_121_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_121_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_121_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_121_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_x;
double __pyx_v_edge;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_edge,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1128, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_edge)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1128, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 2, 2, 1); __PYX_ERR(0, 1128, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1128, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1129, __pyx_L3_error)
__pyx_v_edge = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_edge == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1129, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1128, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_120_(__pyx_self, __pyx_v_x, __pyx_v_edge);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_120_(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_x, double __pyx_v_edge) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_step); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_register); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_n_s_float) < 0) __PYX_ERR(0, 1128, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_edge, __pyx_n_s_float) < 0) __PYX_ERR(0, 1128, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_121_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__185)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_t_37); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_41) < 0) __PYX_ERR(0, 1128, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__185 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__183, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1128, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__185)) __PYX_ERR(0, 1128, __pyx_L1_error)
1129: def _(x: float, edge:float):
+1130: return 0.0 if x < edge else 1.0
__Pyx_XDECREF(__pyx_r); if ((__pyx_v_x < __pyx_v_edge)) { __Pyx_INCREF(__pyx_float_0_0); __pyx_t_1 = __pyx_float_0_0; } else { __Pyx_INCREF(__pyx_float_1_0); __pyx_t_1 = __pyx_float_1_0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
1131:
+1132: _vstep = np.vectorize(step)
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_np); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_vectorize); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_step); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_t_40 = __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_41); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0; __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_vstep, __pyx_t_40) < 0) __PYX_ERR(0, 1132, __pyx_L1_error) __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
1133:
+1134: @step.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_123_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_123_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_123_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_123_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyArrayObject *__pyx_v_x = 0;
double __pyx_v_edge;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_edge,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1134, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_edge)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1134, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 2, 2, 1); __PYX_ERR(0, 1134, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1134, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_x = ((PyArrayObject *)values[0]);
__pyx_v_edge = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_edge == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1135, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1134, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_ptype_5numpy_ndarray, 0, "x", 0))) __PYX_ERR(0, 1135, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_122_(__pyx_self, __pyx_v_x, __pyx_v_edge);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_122_(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_x, double __pyx_v_edge) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_step); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1134, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_register); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1134, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1134, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_x, __pyx_kp_s_np_ndarray) < 0) __PYX_ERR(0, 1134, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_edge, __pyx_n_s_float) < 0) __PYX_ERR(0, 1134, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_123_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__186)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1134, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyObject_CallOneArg(__pyx_t_41, __pyx_t_37); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1134, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_40) < 0) __PYX_ERR(0, 1134, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__186 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__183, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1134, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__186)) __PYX_ERR(0, 1134, __pyx_L1_error)
1135: def _(x: np.ndarray, edge:float):
+1136: return _vstep(x, edge)
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_vstep); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_edge); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[3] = {__pyx_t_4, ((PyObject *)__pyx_v_x), __pyx_t_3}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
1137:
+1138: @step.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_125_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_125_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_125_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_125_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
double __pyx_v_edge;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_edge,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1138, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_edge)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1138, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 2, 2, 1); __PYX_ERR(0, 1138, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1138, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_x = ((PyObject*)values[0]);
__pyx_v_edge = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_edge == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1139, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1138, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyList_Type), 0, "x", 1))) __PYX_ERR(0, 1139, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_124_(__pyx_self, __pyx_v_x, __pyx_v_edge);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
static PyObject *__pyx_pf_8pysndlib_3clm_124_(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x, double __pyx_v_edge) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_5__ *__pyx_cur_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
__pyx_cur_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_5__ *)__pyx_tp_new_8pysndlib_3clm___pyx_scope_struct_5__(__pyx_ptype_8pysndlib_3clm___pyx_scope_struct_5__, __pyx_empty_tuple, NULL);
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_5__ *)Py_None);
__Pyx_INCREF(Py_None);
__PYX_ERR(0, 1138, __pyx_L1_error)
} else {
__Pyx_GOTREF((PyObject *)__pyx_cur_scope);
}
__pyx_cur_scope->__pyx_v_edge = __pyx_v_edge;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_DECREF((PyObject *)__pyx_cur_scope);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_step); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1138, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_register); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1138, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1138, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_x, __pyx_n_s_list) < 0) __PYX_ERR(0, 1138, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_edge, __pyx_n_s_float) < 0) __PYX_ERR(0, 1138, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_125_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__187)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1138, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_41); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1138, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_40) < 0) __PYX_ERR(0, 1138, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__187 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__183, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1138, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__187)) __PYX_ERR(0, 1138, __pyx_L1_error)
/* … */
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_5__ {
PyObject_HEAD
double __pyx_v_edge;
};
1139: def _(x: list, edge:float):
+1140: return list(map(lambda z : step(z, edge), x))
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_1__5lambda5(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_1__5lambda5 = {"lambda5", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_1__5lambda5, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_1__5lambda5(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_z = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("lambda5 (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_z,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_z)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1140, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "lambda5") < 0)) __PYX_ERR(0, 1140, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_z = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("lambda5", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1140, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._.lambda5", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_lambda_funcdef_lambda5(__pyx_self, __pyx_v_z);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_lambda_funcdef_lambda5(PyObject *__pyx_self, PyObject *__pyx_v_z) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_5__ *__pyx_cur_scope;
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_5__ *__pyx_outer_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("lambda5", 0);
__pyx_outer_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_5__ *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
__Pyx_XDECREF(__pyx_r);
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_step); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1140, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_edge); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1140, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
__pyx_t_5 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
__pyx_t_5 = 1;
}
}
{
PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_v_z, __pyx_t_3};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1140, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm._.lambda5", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_1__5lambda5, 0, __pyx_n_s_locals_lambda, ((PyObject*)__pyx_cur_scope), __pyx_n_s_pysndlib_clm, __pyx_d, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1140, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1140, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
__Pyx_INCREF(__pyx_v_x);
__Pyx_GIVEREF(__pyx_v_x);
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_x);
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_map, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1140, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1140, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
1141:
1142:
1143: # --------------- mix ---------------- #
1144:
+1145: @singledispatch
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_127mix(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_127mix = {"mix", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_127mix, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_127mix(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED PyObject *__pyx_v_x = 0;
CYTHON_UNUSED PyObject *__pyx_v_y = 0;
CYTHON_UNUSED PyObject *__pyx_v_a = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("mix (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_y,&__pyx_n_s_a,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1145, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_y)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1145, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("mix", 1, 3, 3, 1); __PYX_ERR(0, 1145, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_a)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1145, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("mix", 1, 3, 3, 2); __PYX_ERR(0, 1145, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "mix") < 0)) __PYX_ERR(0, 1145, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = values[0];
__pyx_v_y = values[1];
__pyx_v_a = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("mix", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1145, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.mix", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_126mix(__pyx_self, __pyx_v_x, __pyx_v_y, __pyx_v_a);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_126mix(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_x, CYTHON_UNUSED PyObject *__pyx_v_y, CYTHON_UNUSED PyObject *__pyx_v_a) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("mix", 0);
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_singledispatch); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1145, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
/* … */
__pyx_tuple__188 = PyTuple_Pack(3, __pyx_n_s_x, __pyx_n_s_y, __pyx_n_s_a); if (unlikely(!__pyx_tuple__188)) __PYX_ERR(0, 1145, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__188);
__Pyx_GIVEREF(__pyx_tuple__188);
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_127mix, 0, __pyx_n_s_mix, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__189)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1145, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_37 = __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_t_41); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1145, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_mix, __pyx_t_37) < 0) __PYX_ERR(0, 1145, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__189 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__188, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_mix, 1145, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__189)) __PYX_ERR(0, 1145, __pyx_L1_error)
1146: def mix(x, y , a):
1147: pass
1148:
+1149: @mix.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_129_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_129_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_129_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_129_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_x;
double __pyx_v_y;
double __pyx_v_a;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_y,&__pyx_n_s_a,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1149, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_y)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1149, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 1); __PYX_ERR(0, 1149, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_a)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1149, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 2); __PYX_ERR(0, 1149, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1149, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1150, __pyx_L3_error)
__pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1150, __pyx_L3_error)
__pyx_v_a = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_a == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1150, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1149, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_128_(__pyx_self, __pyx_v_x, __pyx_v_y, __pyx_v_a);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_128_(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_x, double __pyx_v_y, double __pyx_v_a) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_mix); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1149, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_37, __pyx_n_s_register); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1149, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1149, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_x, __pyx_n_s_float) < 0) __PYX_ERR(0, 1149, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_y, __pyx_n_s_float) < 0) __PYX_ERR(0, 1149, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_a, __pyx_n_s_float) < 0) __PYX_ERR(0, 1149, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_129_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__190)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1149, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyObject_CallOneArg(__pyx_t_41, __pyx_t_40); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1149, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_37) < 0) __PYX_ERR(0, 1149, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__190 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__188, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1149, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__190)) __PYX_ERR(0, 1149, __pyx_L1_error)
1150: def _(x: float, y: float , a: float):
+1151: return x * (1 - a) + y * a
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyFloat_FromDouble(((__pyx_v_x * (1.0 - __pyx_v_a)) + (__pyx_v_y * __pyx_v_a))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
1152:
+1153: @mix.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_131_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_131_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_131_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_131_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyArrayObject *__pyx_v_x = 0;
PyArrayObject *__pyx_v_y = 0;
double __pyx_v_a;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_y,&__pyx_n_s_a,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1153, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_y)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1153, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 1); __PYX_ERR(0, 1153, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_a)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1153, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 2); __PYX_ERR(0, 1153, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1153, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = ((PyArrayObject *)values[0]);
__pyx_v_y = ((PyArrayObject *)values[1]);
__pyx_v_a = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_a == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1154, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1153, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_ptype_5numpy_ndarray, 0, "x", 0))) __PYX_ERR(0, 1154, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_y), __pyx_ptype_5numpy_ndarray, 0, "y", 0))) __PYX_ERR(0, 1154, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_130_(__pyx_self, __pyx_v_x, __pyx_v_y, __pyx_v_a);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_130_(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_x, PyArrayObject *__pyx_v_y, double __pyx_v_a) {
PyObject *__pyx_v_res = NULL;
Py_ssize_t __pyx_v_i;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_res);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_mix); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1153, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_37, __pyx_n_s_register); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1153, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_tuple__191 = PyTuple_Pack(5, __pyx_n_s_x, __pyx_n_s_y, __pyx_n_s_a, __pyx_n_s_res, __pyx_n_s_i); if (unlikely(!__pyx_tuple__191)) __PYX_ERR(0, 1153, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__191);
__Pyx_GIVEREF(__pyx_tuple__191);
__pyx_t_37 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1153, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_x, __pyx_kp_s_np_ndarray) < 0) __PYX_ERR(0, 1153, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_y, __pyx_kp_s_np_ndarray) < 0) __PYX_ERR(0, 1153, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_a, __pyx_n_s_float) < 0) __PYX_ERR(0, 1153, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_131_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__192)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1153, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_t_41); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1153, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_37) < 0) __PYX_ERR(0, 1153, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__192 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__191, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1153, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__192)) __PYX_ERR(0, 1153, __pyx_L1_error)
1154: def _(x: np.ndarray, y: np.ndarray , a: float):
+1155: res = np.zeros_like(x)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros_like); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_x)}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_res = __pyx_t_1; __pyx_t_1 = 0;
+1156: for i in range(len(x)):
__pyx_t_5 = PyObject_Length(((PyObject *)__pyx_v_x)); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1156, __pyx_L1_error) __pyx_t_6 = __pyx_t_5; for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { __pyx_v_i = __pyx_t_7;
+1157: res[i] = mix(x[i], y[i], a)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_mix); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_GetItemInt(((PyObject *)__pyx_v_x), __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_GetItemInt(((PyObject *)__pyx_v_y), __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = PyFloat_FromDouble(__pyx_v_a); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[4] = {__pyx_t_10, __pyx_t_2, __pyx_t_8, __pyx_t_9}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 3+__pyx_t_4); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } if (unlikely((__Pyx_SetItemInt(__pyx_v_res, __pyx_v_i, __pyx_t_1, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0))) __PYX_ERR(0, 1157, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; }
+1158: return res
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_res); __pyx_r = __pyx_v_res; goto __pyx_L0;
1159:
+1160: @mix.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_133_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_133_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_133_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_133_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
PyObject *__pyx_v_y = 0;
double __pyx_v_a;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_y,&__pyx_n_s_a,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1160, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_y)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1160, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 1); __PYX_ERR(0, 1160, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_a)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1160, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, 2); __PYX_ERR(0, 1160, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1160, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = ((PyObject*)values[0]);
__pyx_v_y = ((PyObject*)values[1]);
__pyx_v_a = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_a == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1161, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1160, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyList_Type), 0, "x", 1))) __PYX_ERR(0, 1161, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_y), (&PyList_Type), 0, "y", 1))) __PYX_ERR(0, 1161, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_132_(__pyx_self, __pyx_v_x, __pyx_v_y, __pyx_v_a);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_132_(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_y, double __pyx_v_a) {
PyObject *__pyx_v_res = NULL;
Py_ssize_t __pyx_v_i;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_res);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_mix); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1160, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_37, __pyx_n_s_register); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1160, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1160, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_x, __pyx_n_s_list) < 0) __PYX_ERR(0, 1160, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_y, __pyx_n_s_list) < 0) __PYX_ERR(0, 1160, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_a, __pyx_n_s_float) < 0) __PYX_ERR(0, 1160, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_133_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__193)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1160, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyObject_CallOneArg(__pyx_t_41, __pyx_t_40); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1160, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_37) < 0) __PYX_ERR(0, 1160, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__193 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__191, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1160, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__193)) __PYX_ERR(0, 1160, __pyx_L1_error)
1161: def _(x: list, y: list , a: float):
+1162: res = [None] * len(x)
__pyx_t_1 = PyList_GET_SIZE(__pyx_v_x); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1162, __pyx_L1_error) __pyx_t_2 = PyList_New(1 * ((__pyx_t_1<0) ? 0:__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); { Py_ssize_t __pyx_temp; for (__pyx_temp=0; __pyx_temp < __pyx_t_1; __pyx_temp++) { __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyList_SET_ITEM(__pyx_t_2, __pyx_temp, Py_None); } } __pyx_v_res = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0;
+1163: for i in range(len(x)):
__pyx_t_1 = PyList_GET_SIZE(__pyx_v_x); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1163, __pyx_L1_error) __pyx_t_3 = __pyx_t_1; for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i = __pyx_t_4;
+1164: res[i] = mix(x[i], y[i], a)
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_mix); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_GetItemInt_List(__pyx_v_x, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_y, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyFloat_FromDouble(__pyx_v_a); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_10 = 1; } } { PyObject *__pyx_callargs[4] = {__pyx_t_9, __pyx_t_6, __pyx_t_7, __pyx_t_8}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_10, 3+__pyx_t_10); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } if (unlikely((__Pyx_SetItemInt(__pyx_v_res, __pyx_v_i, __pyx_t_2, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1) < 0))) __PYX_ERR(0, 1164, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; }
+1165: return res
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_res); __pyx_r = __pyx_v_res; goto __pyx_L0;
1166:
1167: # --------------- sign ---------------- #
1168:
+1169: @singledispatch
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_135sign(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_135sign = {"sign", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_135sign, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_135sign(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED PyObject *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("sign (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1169, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "sign") < 0)) __PYX_ERR(0, 1169, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("sign", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1169, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.sign", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_134sign(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_134sign(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("sign", 0);
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_37, __pyx_n_s_singledispatch); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1169, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_135sign, 0, __pyx_n_s_sign, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__194)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1169, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_40); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1169, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_sign, __pyx_t_41) < 0) __PYX_ERR(0, 1169, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__194 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_sign, 1169, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__194)) __PYX_ERR(0, 1169, __pyx_L1_error)
1170: def sign(x):
1171: pass
1172:
+1173: @sign.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_137_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_137_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_137_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_137_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1173, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1173, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = ((PyObject*)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1173, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyInt_Type), 0, "x", 1))) __PYX_ERR(0, 1174, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_136_(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_136_(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_sign); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1173, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_register); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1173, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1173, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 1173, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_137_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__195)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1173, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_t_37); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1173, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_41) < 0) __PYX_ERR(0, 1173, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__195 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1173, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__195)) __PYX_ERR(0, 1173, __pyx_L1_error)
1174: def _(x: int ):
+1175: if x == 0:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_x, __pyx_int_0, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1175, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1175, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ }
+1176: return 0
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_int_0); __pyx_r = __pyx_int_0; goto __pyx_L0;
+1177: if x < 0:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_x, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1177, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1177, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ }
+1178: return -1
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_int_neg_1); __pyx_r = __pyx_int_neg_1; goto __pyx_L0;
1179: else:
+1180: return 1
/*else*/ {
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_int_1);
__pyx_r = __pyx_int_1;
goto __pyx_L0;
}
1181:
+1182: @sign.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_139_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_139_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_139_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_139_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_x;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1182, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1182, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1183, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1182, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_138_(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_138_(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_sign); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1182, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_register); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1182, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1182, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_n_s_float) < 0) __PYX_ERR(0, 1182, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_139_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__196)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1182, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_40); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1182, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_41) < 0) __PYX_ERR(0, 1182, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__196 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1182, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__196)) __PYX_ERR(0, 1182, __pyx_L1_error)
1183: def _(x: float ):
+1184: if x == 0:
__pyx_t_1 = (__pyx_v_x == 0.0);
if (__pyx_t_1) {
/* … */
}
+1185: return 0.0
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_float_0_0); __pyx_r = __pyx_float_0_0; goto __pyx_L0;
+1186: if x < 0:
__pyx_t_1 = (__pyx_v_x < 0.0);
if (__pyx_t_1) {
/* … */
}
+1187: return -1.0
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_float_neg_1_0); __pyx_r = __pyx_float_neg_1_0; goto __pyx_L0;
1188: else:
+1189: return 1.0
/*else*/ {
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_float_1_0);
__pyx_r = __pyx_float_1_0;
goto __pyx_L0;
}
1190:
+1191: @sign.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_141_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_141_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_141_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_141_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1191, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1191, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = ((PyObject*)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1191, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyList_Type), 0, "x", 1))) __PYX_ERR(0, 1192, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_140_(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_140_(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_sign); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1191, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_register); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1191, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1191, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_n_s_list) < 0) __PYX_ERR(0, 1191, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_141_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__197)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1191, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_t_37); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1191, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_41) < 0) __PYX_ERR(0, 1191, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__197 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1191, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__197)) __PYX_ERR(0, 1191, __pyx_L1_error)
1192: def _(x: list):
+1193: return list(map(sign, x))
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sign); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_INCREF(__pyx_v_x); __Pyx_GIVEREF(__pyx_v_x); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_x); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_map, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
1194:
+1195: @sign.register
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_143_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_143_ = {"_", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_143_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_143_(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyArrayObject *__pyx_v_x = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_ (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1195, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_") < 0)) __PYX_ERR(0, 1195, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = ((PyArrayObject *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("_", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1195, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_ptype_5numpy_ndarray, 0, "x", 0))) __PYX_ERR(0, 1196, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_142_(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_142_(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm._", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_sign); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1195, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_register); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1195, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1195, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_kp_s_np_ndarray) < 0) __PYX_ERR(0, 1195, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_143_, 0, __pyx_n_s__115, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__198)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1195, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyObject_CallOneArg(__pyx_t_37, __pyx_t_40); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1195, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s__115, __pyx_t_41) < 0) __PYX_ERR(0, 1195, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__198 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s__115, 1195, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__198)) __PYX_ERR(0, 1195, __pyx_L1_error)
1196: def _(x: np.ndarray):
+1197: return np.sign(x)
__Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_sign); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_x)}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
1198:
1199:
1200:
1201: # # --------------- clm utility functions ---------------- #
1202: #
+1203: cpdef cython.double radians2hz(radians: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_145radians2hz(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_radians2hz(double __pyx_v_radians, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("radians2hz", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_145radians2hz(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_144radians2hz, "\n convert radians per sample to frequency: `hz = rads * srate / (2 * pi)`\n \n :param radians: frequency \\in radians\n :return: frequency \\in hertz\n :rtype: float\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_145radians2hz = {"radians2hz", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_145radians2hz, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_144radians2hz};
static PyObject *__pyx_pw_8pysndlib_3clm_145radians2hz(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_radians;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("radians2hz (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_radians,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_radians)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1203, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "radians2hz") < 0)) __PYX_ERR(0, 1203, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_radians = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_radians == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1203, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("radians2hz", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1203, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.radians2hz", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_144radians2hz(__pyx_self, __pyx_v_radians);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_144radians2hz(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_radians) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("radians2hz", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_radians2hz(__pyx_v_radians, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1203, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1203, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.radians2hz", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__199 = PyTuple_Pack(1, __pyx_n_s_radians); if (unlikely(!__pyx_tuple__199)) __PYX_ERR(0, 1203, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__199);
__Pyx_GIVEREF(__pyx_tuple__199);
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1203, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_radians, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1203, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_145radians2hz, 0, __pyx_n_s_radians2hz, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__200)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1203, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_radians2hz, __pyx_t_40) < 0) __PYX_ERR(0, 1203, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__200 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__199, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_radians2hz, 1203, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__200)) __PYX_ERR(0, 1203, __pyx_L1_error)
1204: """
1205: convert radians per sample to frequency: `hz = rads * srate / (2 * pi)`
1206:
1207: :param radians: frequency \in radians
1208: :return: frequency \in hertz
1209: :rtype: float
1210: """
1211:
+1212: return cclm.mus_radians_to_hz(radians)
__pyx_r = mus_radians_to_hz(__pyx_v_radians); goto __pyx_L0;
1213:
+1214: cpdef cython.double hz2radians(hz: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_147hz2radians(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_hz2radians(double __pyx_v_hz, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("hz2radians", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_147hz2radians(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_146hz2radians, "\n convert frequency in hz to radians per sample: `hz * 2 * pi / srate`\n \n :param hz: frequency \\in hertz\n :return: frequency \\in radians\n :rtype: float\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_147hz2radians = {"hz2radians", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_147hz2radians, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_146hz2radians};
static PyObject *__pyx_pw_8pysndlib_3clm_147hz2radians(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_hz;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("hz2radians (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hz,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hz)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1214, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "hz2radians") < 0)) __PYX_ERR(0, 1214, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_hz = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_hz == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1214, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("hz2radians", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1214, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.hz2radians", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_146hz2radians(__pyx_self, __pyx_v_hz);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_146hz2radians(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_hz) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("hz2radians", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_hz2radians(__pyx_v_hz, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1214, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1214, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.hz2radians", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__201 = PyTuple_Pack(1, __pyx_n_s_hz); if (unlikely(!__pyx_tuple__201)) __PYX_ERR(0, 1214, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__201);
__Pyx_GIVEREF(__pyx_tuple__201);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1214, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_hz, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1214, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_147hz2radians, 0, __pyx_n_s_hz2radians, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__202)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1214, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_hz2radians, __pyx_t_41) < 0) __PYX_ERR(0, 1214, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__202 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__201, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_hz2radians, 1214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__202)) __PYX_ERR(0, 1214, __pyx_L1_error)
1215: """
1216: convert frequency in hz to radians per sample: `hz * 2 * pi / srate`
1217:
1218: :param hz: frequency \in hertz
1219: :return: frequency \in radians
1220: :rtype: float
1221: """
+1222: return cclm.mus_hz_to_radians(hz)
__pyx_r = mus_hz_to_radians(__pyx_v_hz); goto __pyx_L0;
1223:
+1224: cpdef cython.double degrees2radians(degrees: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_149degrees2radians(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_degrees2radians(double __pyx_v_degrees, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("degrees2radians", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_149degrees2radians(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_148degrees2radians, "\n convert degrees to radians: `degrees * 2 * pi / 360`\n \n :param degrees: angle in degrees\n :return: angle in radians\n :rtype: float\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_149degrees2radians = {"degrees2radians", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_149degrees2radians, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_148degrees2radians};
static PyObject *__pyx_pw_8pysndlib_3clm_149degrees2radians(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_degrees;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("degrees2radians (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_degrees,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_degrees)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1224, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "degrees2radians") < 0)) __PYX_ERR(0, 1224, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_degrees = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_degrees == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1224, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("degrees2radians", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1224, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.degrees2radians", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_148degrees2radians(__pyx_self, __pyx_v_degrees);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_148degrees2radians(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_degrees) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("degrees2radians", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_degrees2radians(__pyx_v_degrees, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1224, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1224, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.degrees2radians", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__203 = PyTuple_Pack(1, __pyx_n_s_degrees); if (unlikely(!__pyx_tuple__203)) __PYX_ERR(0, 1224, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__203);
__Pyx_GIVEREF(__pyx_tuple__203);
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1224, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_degrees, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1224, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_149degrees2radians, 0, __pyx_n_s_degrees2radians, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__204)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1224, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_degrees2radians, __pyx_t_40) < 0) __PYX_ERR(0, 1224, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__204 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__203, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_degrees2radians, 1224, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__204)) __PYX_ERR(0, 1224, __pyx_L1_error)
1225: """
1226: convert degrees to radians: `degrees * 2 * pi / 360`
1227:
1228: :param degrees: angle in degrees
1229: :return: angle in radians
1230: :rtype: float
1231:
1232: """
+1233: return cclm.mus_degrees_to_radians(degrees)
__pyx_r = mus_degrees_to_radians(__pyx_v_degrees); goto __pyx_L0;
1234:
+1235: cpdef cython.double radians2degrees(radians: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_151radians2degrees(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_radians2degrees(double __pyx_v_radians, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("radians2degrees", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_151radians2degrees(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_150radians2degrees, "\n convert radians to degrees: `rads * 360 / (2 * pi)`\n \n :param radians: angle in radians\n :return: degree\n :rtype: float\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_151radians2degrees = {"radians2degrees", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_151radians2degrees, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_150radians2degrees};
static PyObject *__pyx_pw_8pysndlib_3clm_151radians2degrees(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_radians;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("radians2degrees (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_radians,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_radians)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1235, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "radians2degrees") < 0)) __PYX_ERR(0, 1235, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_radians = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_radians == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1235, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("radians2degrees", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1235, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.radians2degrees", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_150radians2degrees(__pyx_self, __pyx_v_radians);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_150radians2degrees(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_radians) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("radians2degrees", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_radians2degrees(__pyx_v_radians, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1235, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1235, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.radians2degrees", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1235, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_radians, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1235, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_151radians2degrees, 0, __pyx_n_s_radians2degrees, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__205)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1235, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_radians2degrees, __pyx_t_41) < 0) __PYX_ERR(0, 1235, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__205 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__199, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_radians2degrees, 1235, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__205)) __PYX_ERR(0, 1235, __pyx_L1_error)
1236: """
1237: convert radians to degrees: `rads * 360 / (2 * pi)`
1238:
1239: :param radians: angle in radians
1240: :return: degree
1241: :rtype: float
1242:
1243: """
1244:
+1245: return cclm.mus_radians_to_degrees(radians)
__pyx_r = mus_radians_to_degrees(__pyx_v_radians); goto __pyx_L0;
1246:
+1247: cpdef cython.double db2linear(x: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_153db2linear(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_db2linear(double __pyx_v_x, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("db2linear", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_153db2linear(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_152db2linear, "\n convert decibel value db to linear value: `pow(10, db / 20)`\n\n :param x: decibel\n :return: linear amplitude\n :rtype: float\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_153db2linear = {"db2linear", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_153db2linear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_152db2linear};
static PyObject *__pyx_pw_8pysndlib_3clm_153db2linear(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_x;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("db2linear (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1247, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "db2linear") < 0)) __PYX_ERR(0, 1247, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1247, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("db2linear", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1247, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.db2linear", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_152db2linear(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_152db2linear(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("db2linear", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_db2linear(__pyx_v_x, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1247, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1247, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.db2linear", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1247, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1247, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_153db2linear, 0, __pyx_n_s_db2linear, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__206)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1247, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_db2linear, __pyx_t_40) < 0) __PYX_ERR(0, 1247, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__206 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_db2linear, 1247, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__206)) __PYX_ERR(0, 1247, __pyx_L1_error)
1248: """
1249: convert decibel value db to linear value: `pow(10, db / 20)`
1250:
1251: :param x: decibel
1252: :return: linear amplitude
1253: :rtype: float
1254:
1255: """
1256:
+1257: return cclm.mus_db_to_linear(x)
__pyx_r = mus_db_to_linear(__pyx_v_x); goto __pyx_L0;
1258:
+1259: cpdef cython.double linear2db(x: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_155linear2db(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_linear2db(double __pyx_v_x, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("linear2db", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_155linear2db(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_154linear2db, "\n convert linear value to decibels 20 * log10(lin)\n\n :param x: linear amplitude\n :return: decibel\n :rtype: float\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_155linear2db = {"linear2db", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_155linear2db, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_154linear2db};
static PyObject *__pyx_pw_8pysndlib_3clm_155linear2db(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_x;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("linear2db (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1259, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "linear2db") < 0)) __PYX_ERR(0, 1259, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1259, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("linear2db", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1259, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.linear2db", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_154linear2db(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_154linear2db(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("linear2db", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_linear2db(__pyx_v_x, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1259, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1259, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.linear2db", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1259, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_x, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1259, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_155linear2db, 0, __pyx_n_s_linear2db, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__207)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1259, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_linear2db, __pyx_t_41) < 0) __PYX_ERR(0, 1259, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__207 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_linear2db, 1259, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__207)) __PYX_ERR(0, 1259, __pyx_L1_error)
1260: """
1261: convert linear value to decibels 20 * log10(lin)
1262:
1263: :param x: linear amplitude
1264: :return: decibel
1265: :rtype: float
1266:
1267: """
1268:
+1269: return cclm.mus_linear_to_db(x)
__pyx_r = mus_linear_to_db(__pyx_v_x); goto __pyx_L0;
1270:
+1271: cpdef cython.double odd_multiple(x: cython.double , y: cython.double ):
static PyObject *__pyx_pw_8pysndlib_3clm_157odd_multiple(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_odd_multiple(double __pyx_v_x, double __pyx_v_y, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("odd_multiple", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_157odd_multiple(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_156odd_multiple, "\n return y times the nearest odd integer to x\n \n :param x:\n :param y:\n :return: nearest odd integer as a float\n :rtype: float\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_157odd_multiple = {"odd_multiple", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_157odd_multiple, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_156odd_multiple};
static PyObject *__pyx_pw_8pysndlib_3clm_157odd_multiple(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_x;
double __pyx_v_y;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("odd_multiple (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_y,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1271, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_y)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1271, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("odd_multiple", 1, 2, 2, 1); __PYX_ERR(0, 1271, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "odd_multiple") < 0)) __PYX_ERR(0, 1271, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1271, __pyx_L3_error)
__pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1271, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("odd_multiple", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1271, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.odd_multiple", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_156odd_multiple(__pyx_self, __pyx_v_x, __pyx_v_y);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_156odd_multiple(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_x, double __pyx_v_y) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("odd_multiple", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_odd_multiple(__pyx_v_x, __pyx_v_y, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1271, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1271, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.odd_multiple", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1271, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1271, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_y, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1271, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_157odd_multiple, 0, __pyx_n_s_odd_multiple, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__208)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1271, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_odd_multiple, __pyx_t_40) < 0) __PYX_ERR(0, 1271, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__208 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__148, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_odd_multiple, 1271, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__208)) __PYX_ERR(0, 1271, __pyx_L1_error)
1272: """
1273: return y times the nearest odd integer to x
1274:
1275: :param x:
1276: :param y:
1277: :return: nearest odd integer as a float
1278: :rtype: float
1279:
1280: """
1281:
+1282: return cclm.mus_odd_multiple(x,y)
__pyx_r = mus_odd_multiple(__pyx_v_x, __pyx_v_y); goto __pyx_L0;
1283:
+1284: cpdef cython.double even_multiple(x: cython.double , y: cython.double ):
static PyObject *__pyx_pw_8pysndlib_3clm_159even_multiple(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_even_multiple(double __pyx_v_x, double __pyx_v_y, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("even_multiple", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_159even_multiple(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_158even_multiple, "\n return y times the nearest even integer to x\n \n :param x:\n :param y:\n :return: nearest even integer as a float\n :rtype: float\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_159even_multiple = {"even_multiple", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_159even_multiple, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_158even_multiple};
static PyObject *__pyx_pw_8pysndlib_3clm_159even_multiple(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_x;
double __pyx_v_y;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("even_multiple (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_y,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1284, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_y)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1284, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("even_multiple", 1, 2, 2, 1); __PYX_ERR(0, 1284, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "even_multiple") < 0)) __PYX_ERR(0, 1284, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1284, __pyx_L3_error)
__pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1284, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("even_multiple", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1284, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.even_multiple", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_158even_multiple(__pyx_self, __pyx_v_x, __pyx_v_y);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_158even_multiple(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_x, double __pyx_v_y) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("even_multiple", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_even_multiple(__pyx_v_x, __pyx_v_y, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1284, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1284, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.even_multiple", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1284, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_x, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1284, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_y, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1284, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_159even_multiple, 0, __pyx_n_s_even_multiple, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__209)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1284, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_even_multiple, __pyx_t_41) < 0) __PYX_ERR(0, 1284, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__209 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__148, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_even_multiple, 1284, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__209)) __PYX_ERR(0, 1284, __pyx_L1_error)
1285: """
1286: return y times the nearest even integer to x
1287:
1288: :param x:
1289: :param y:
1290: :return: nearest even integer as a float
1291: :rtype: float
1292: """
1293:
+1294: return cclm.mus_even_multiple(x,y)
__pyx_r = mus_even_multiple(__pyx_v_x, __pyx_v_y); goto __pyx_L0;
1295:
+1296: cpdef cython.double odd_weight(x: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_161odd_weight(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_odd_weight(double __pyx_v_x, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("odd_weight", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_161odd_weight(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_160odd_weight, "\n return a number between 0.0 (x is even) and 1.0 (x is odd)\n \n :param x:\n :return weight:\n :rtype: float\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_161odd_weight = {"odd_weight", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_161odd_weight, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_160odd_weight};
static PyObject *__pyx_pw_8pysndlib_3clm_161odd_weight(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_x;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("odd_weight (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1296, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "odd_weight") < 0)) __PYX_ERR(0, 1296, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1296, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("odd_weight", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1296, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.odd_weight", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_160odd_weight(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_160odd_weight(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("odd_weight", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_odd_weight(__pyx_v_x, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1296, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1296, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.odd_weight", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1296, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1296, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_161odd_weight, 0, __pyx_n_s_odd_weight, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__210)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1296, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_odd_weight, __pyx_t_40) < 0) __PYX_ERR(0, 1296, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__210 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_odd_weight, 1296, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__210)) __PYX_ERR(0, 1296, __pyx_L1_error)
1297: """
1298: return a number between 0.0 (x is even) and 1.0 (x is odd)
1299:
1300: :param x:
1301: :return weight:
1302: :rtype: float
1303:
1304: """
1305:
+1306: return cclm.mus_odd_weight(x)
__pyx_r = mus_odd_weight(__pyx_v_x); goto __pyx_L0;
1307:
+1308: cpdef cython.double even_weight(x: cython.double ):
static PyObject *__pyx_pw_8pysndlib_3clm_163even_weight(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_even_weight(double __pyx_v_x, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("even_weight", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_163even_weight(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_162even_weight, "\n return a number between 0.0 (x is odd) and 1.0 (x is even)\n \n :param x:\n :return weight:\n :rtype: float\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_163even_weight = {"even_weight", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_163even_weight, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_162even_weight};
static PyObject *__pyx_pw_8pysndlib_3clm_163even_weight(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_x;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("even_weight (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1308, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "even_weight") < 0)) __PYX_ERR(0, 1308, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1308, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("even_weight", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1308, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.even_weight", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_162even_weight(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_162even_weight(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("even_weight", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_even_weight(__pyx_v_x, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1308, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1308, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.even_weight", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1308, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_x, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1308, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_163even_weight, 0, __pyx_n_s_even_weight, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__211)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1308, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_even_weight, __pyx_t_41) < 0) __PYX_ERR(0, 1308, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__211 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_even_weight, 1308, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__211)) __PYX_ERR(0, 1308, __pyx_L1_error)
1309: """
1310: return a number between 0.0 (x is odd) and 1.0 (x is even)
1311:
1312: :param x:
1313: :return weight:
1314: :rtype: float
1315: """
1316:
+1317: return cclm.mus_even_weight(x)
__pyx_r = mus_even_weight(__pyx_v_x); goto __pyx_L0;
1318:
+1319: cpdef cython.double get_srate():
static PyObject *__pyx_pw_8pysndlib_3clm_165get_srate(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static double __pyx_f_8pysndlib_3clm_get_srate(CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("get_srate", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_165get_srate(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_164get_srate, "\n return current sample rate\n \n :return samplerate:\n :rtype: float\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_165get_srate = {"get_srate", (PyCFunction)__pyx_pw_8pysndlib_3clm_165get_srate, METH_NOARGS, __pyx_doc_8pysndlib_3clm_164get_srate};
static PyObject *__pyx_pw_8pysndlib_3clm_165get_srate(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("get_srate (wrapper)", 0);
__pyx_r = __pyx_pf_8pysndlib_3clm_164get_srate(__pyx_self);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_164get_srate(CYTHON_UNUSED PyObject *__pyx_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("get_srate", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_get_srate(0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1319, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1319, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.get_srate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_165get_srate, 0, __pyx_n_s_get_srate, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__212)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1319, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_srate, __pyx_t_41) < 0) __PYX_ERR(0, 1319, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__212 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_get_srate, 1319, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__212)) __PYX_ERR(0, 1319, __pyx_L1_error)
1320: """
1321: return current sample rate
1322:
1323: :return samplerate:
1324: :rtype: float
1325:
1326: """
+1327: return cclm.mus_srate()
__pyx_r = mus_srate(); goto __pyx_L0;
1328:
+1329: cpdef cython.double set_srate(r: cython.double ):
static PyObject *__pyx_pw_8pysndlib_3clm_167set_srate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_set_srate(double __pyx_v_r, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_srate", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_167set_srate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_166set_srate, "\n set current sample rate\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_167set_srate = {"set_srate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_167set_srate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_166set_srate};
static PyObject *__pyx_pw_8pysndlib_3clm_167set_srate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_r;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_srate (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_r,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_r)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1329, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "set_srate") < 0)) __PYX_ERR(0, 1329, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_r = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_r == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1329, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("set_srate", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1329, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.set_srate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_166set_srate(__pyx_self, __pyx_v_r);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_166set_srate(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_r) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_srate", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_set_srate(__pyx_v_r, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1329, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1329, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.set_srate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__213 = PyTuple_Pack(1, __pyx_n_s_r); if (unlikely(!__pyx_tuple__213)) __PYX_ERR(0, 1329, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__213);
__Pyx_GIVEREF(__pyx_tuple__213);
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1329, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_r, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1329, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_167set_srate, 0, __pyx_n_s_set_srate, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__214)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1329, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_set_srate, __pyx_t_40) < 0) __PYX_ERR(0, 1329, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__214 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__213, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_set_srate, 1329, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__214)) __PYX_ERR(0, 1329, __pyx_L1_error)
1330: """
1331: set current sample rate
1332: """
+1333: return cclm.mus_set_srate(r)
__pyx_r = mus_set_srate(__pyx_v_r); goto __pyx_L0;
1334:
+1335: cpdef cclm.mus_long_t seconds2samples(secs: cython.double ):
static PyObject *__pyx_pw_8pysndlib_3clm_169seconds2samples(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static mus_long_t __pyx_f_8pysndlib_3clm_seconds2samples(double __pyx_v_secs, CYTHON_UNUSED int __pyx_skip_dispatch) {
mus_long_t __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("seconds2samples", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_169seconds2samples(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_168seconds2samples, "\n use mus_srate to convert seconds to samples.\n \n :param secs: time in seconds\n :return: time in samples\n :rtype: int\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_169seconds2samples = {"seconds2samples", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_169seconds2samples, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_168seconds2samples};
static PyObject *__pyx_pw_8pysndlib_3clm_169seconds2samples(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_secs;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("seconds2samples (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_secs,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_secs)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1335, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "seconds2samples") < 0)) __PYX_ERR(0, 1335, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_secs = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_secs == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1335, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("seconds2samples", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1335, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.seconds2samples", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_168seconds2samples(__pyx_self, __pyx_v_secs);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_168seconds2samples(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_secs) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("seconds2samples", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_seconds2samples(__pyx_v_secs, 0); if (unlikely(__pyx_t_1 == ((mus_long_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1335, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyInt_From_mus_long_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1335, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.seconds2samples", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__215 = PyTuple_Pack(1, __pyx_n_s_secs); if (unlikely(!__pyx_tuple__215)) __PYX_ERR(0, 1335, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__215);
__Pyx_GIVEREF(__pyx_tuple__215);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1335, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_secs, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1335, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_169seconds2samples, 0, __pyx_n_s_seconds2samples, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__216)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1335, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_seconds2samples, __pyx_t_41) < 0) __PYX_ERR(0, 1335, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__216 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__215, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_seconds2samples, 1335, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__216)) __PYX_ERR(0, 1335, __pyx_L1_error)
1336: """
1337: use mus_srate to convert seconds to samples.
1338:
1339: :param secs: time in seconds
1340: :return: time in samples
1341: :rtype: int
1342: """
+1343: return cclm.mus_seconds_to_samples(secs)
__pyx_r = mus_seconds_to_samples(__pyx_v_secs); goto __pyx_L0;
1344:
+1345: cpdef cython.double samples2seconds(samples: mus_long_t):
static PyObject *__pyx_pw_8pysndlib_3clm_171samples2seconds(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_samples2seconds(PyObject *__pyx_v_samples, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("samples2seconds", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.samples2seconds", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_171samples2seconds(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_170samples2seconds, "\n use mus_srate to convert samples to seconds.\n \n :param samples: number of samples\n :return: time in seconds\n :rtype: float\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_171samples2seconds = {"samples2seconds", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_171samples2seconds, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_170samples2seconds};
static PyObject *__pyx_pw_8pysndlib_3clm_171samples2seconds(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_samples = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("samples2seconds (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_samples,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_samples)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1345, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "samples2seconds") < 0)) __PYX_ERR(0, 1345, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_samples = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("samples2seconds", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1345, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.samples2seconds", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_170samples2seconds(__pyx_self, __pyx_v_samples);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_170samples2seconds(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_samples) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("samples2seconds", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_samples2seconds(__pyx_v_samples, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1345, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1345, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.samples2seconds", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__217 = PyTuple_Pack(1, __pyx_n_s_samples); if (unlikely(!__pyx_tuple__217)) __PYX_ERR(0, 1345, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__217);
__Pyx_GIVEREF(__pyx_tuple__217);
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1345, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_samples, __pyx_n_s_mus_long_t) < 0) __PYX_ERR(0, 1345, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_171samples2seconds, 0, __pyx_n_s_samples2seconds, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__218)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1345, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_samples2seconds, __pyx_t_40) < 0) __PYX_ERR(0, 1345, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__218 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__217, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_samples2seconds, 1345, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__218)) __PYX_ERR(0, 1345, __pyx_L1_error)
1346: """
1347: use mus_srate to convert samples to seconds.
1348:
1349: :param samples: number of samples
1350: :return: time in seconds
1351: :rtype: float
1352:
1353: """
+1354: return cclm.mus_samples_to_seconds(samples)
__pyx_t_1 = __Pyx_PyInt_As_mus_long_t(__pyx_v_samples); if (unlikely((__pyx_t_1 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1354, __pyx_L1_error) __pyx_r = mus_samples_to_seconds(__pyx_t_1); goto __pyx_L0;
1355:
+1356: cpdef cython.double ring_modulate(s1: cython.double, s2: cython.double ):
static PyObject *__pyx_pw_8pysndlib_3clm_173ring_modulate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_ring_modulate(double __pyx_v_s1, double __pyx_v_s2, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ring_modulate", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_173ring_modulate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_172ring_modulate, "\n return s1 * s2 (sample by sample multiply)\n \n :param s1: input 1\n :param s2: input 2\n :return: result\n :rtype: float\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_173ring_modulate = {"ring_modulate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_173ring_modulate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_172ring_modulate};
static PyObject *__pyx_pw_8pysndlib_3clm_173ring_modulate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_s1;
double __pyx_v_s2;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ring_modulate (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_s1,&__pyx_n_s_s2,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_s1)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1356, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_s2)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1356, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("ring_modulate", 1, 2, 2, 1); __PYX_ERR(0, 1356, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "ring_modulate") < 0)) __PYX_ERR(0, 1356, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_s1 = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_s1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1356, __pyx_L3_error)
__pyx_v_s2 = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_s2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1356, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("ring_modulate", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1356, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.ring_modulate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_172ring_modulate(__pyx_self, __pyx_v_s1, __pyx_v_s2);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_172ring_modulate(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_s1, double __pyx_v_s2) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ring_modulate", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_ring_modulate(__pyx_v_s1, __pyx_v_s2, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1356, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1356, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.ring_modulate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__219 = PyTuple_Pack(2, __pyx_n_s_s1, __pyx_n_s_s2); if (unlikely(!__pyx_tuple__219)) __PYX_ERR(0, 1356, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__219);
__Pyx_GIVEREF(__pyx_tuple__219);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1356, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_s1, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1356, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_s2, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1356, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_173ring_modulate, 0, __pyx_n_s_ring_modulate, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__220)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1356, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ring_modulate, __pyx_t_41) < 0) __PYX_ERR(0, 1356, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__220 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__219, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_ring_modulate, 1356, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__220)) __PYX_ERR(0, 1356, __pyx_L1_error)
1357: """
1358: return s1 * s2 (sample by sample multiply)
1359:
1360: :param s1: input 1
1361: :param s2: input 2
1362: :return: result
1363: :rtype: float
1364:
1365: """
1366:
+1367: return cclm.mus_ring_modulate(s1, s2)
__pyx_r = mus_ring_modulate(__pyx_v_s1, __pyx_v_s2); goto __pyx_L0;
1368:
+1369: cpdef cython.double amplitude_modulate(s1: cython.double, s2: cython.double , s3: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_175amplitude_modulate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_amplitude_modulate(double __pyx_v_s1, double __pyx_v_s2, double __pyx_v_s3, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("amplitude_modulate", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_175amplitude_modulate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_174amplitude_modulate, "\n carrier in1 in2): in1 * (carrier + in2)\n \n :param s1: input 1\n :param s2: input 2\n :param s3: input 3\n :return: result\n :rtype: float\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_175amplitude_modulate = {"amplitude_modulate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_175amplitude_modulate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_174amplitude_modulate};
static PyObject *__pyx_pw_8pysndlib_3clm_175amplitude_modulate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_s1;
double __pyx_v_s2;
double __pyx_v_s3;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("amplitude_modulate (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_s1,&__pyx_n_s_s2,&__pyx_n_s_s3,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_s1)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1369, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_s2)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1369, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("amplitude_modulate", 1, 3, 3, 1); __PYX_ERR(0, 1369, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_s3)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1369, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("amplitude_modulate", 1, 3, 3, 2); __PYX_ERR(0, 1369, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "amplitude_modulate") < 0)) __PYX_ERR(0, 1369, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_s1 = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_s1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1369, __pyx_L3_error)
__pyx_v_s2 = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_s2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1369, __pyx_L3_error)
__pyx_v_s3 = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_s3 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1369, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("amplitude_modulate", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1369, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.amplitude_modulate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_174amplitude_modulate(__pyx_self, __pyx_v_s1, __pyx_v_s2, __pyx_v_s3);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_174amplitude_modulate(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_s1, double __pyx_v_s2, double __pyx_v_s3) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("amplitude_modulate", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_amplitude_modulate(__pyx_v_s1, __pyx_v_s2, __pyx_v_s3, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1369, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1369, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.amplitude_modulate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__221 = PyTuple_Pack(3, __pyx_n_s_s1, __pyx_n_s_s2, __pyx_n_s_s3); if (unlikely(!__pyx_tuple__221)) __PYX_ERR(0, 1369, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__221);
__Pyx_GIVEREF(__pyx_tuple__221);
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1369, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_s1, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1369, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_s2, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1369, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_s3, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1369, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_175amplitude_modulate, 0, __pyx_n_s_amplitude_modulate, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__222)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1369, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_amplitude_modulate, __pyx_t_40) < 0) __PYX_ERR(0, 1369, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__222 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__221, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_amplitude_modulate, 1369, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__222)) __PYX_ERR(0, 1369, __pyx_L1_error)
1370: """
1371: carrier in1 in2): in1 * (carrier + in2)
1372:
1373: :param s1: input 1
1374: :param s2: input 2
1375: :param s3: input 3
1376: :return: result
1377: :rtype: float
1378:
1379: """
+1380: return cclm.mus_amplitude_modulate(s1, s2, s3)
__pyx_r = mus_amplitude_modulate(__pyx_v_s1, __pyx_v_s2, __pyx_v_s3); goto __pyx_L0;
1381:
+1382: cpdef cython.double contrast_enhancement(insig: cython.double, fm_index: cython.double =1.0 ):
static PyObject *__pyx_pw_8pysndlib_3clm_177contrast_enhancement(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_contrast_enhancement(double __pyx_v_insig, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_contrast_enhancement *__pyx_optional_args) {
double __pyx_v_fm_index = ((double)1.0);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("contrast_enhancement", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_fm_index = __pyx_optional_args->fm_index;
}
}
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_177contrast_enhancement(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_176contrast_enhancement, "\n returns insig (index 1.0)): sin(sig * pi / 2 + fm_index * sin(sig * 2 * pi))\n contrast_enhancement passes its input to sin as a kind of phase modulation.\n \n :param insig: input\n :param fm_index: \n :return: result\n :rtype: float\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_177contrast_enhancement = {"contrast_enhancement", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_177contrast_enhancement, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_176contrast_enhancement};
static PyObject *__pyx_pw_8pysndlib_3clm_177contrast_enhancement(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_insig;
double __pyx_v_fm_index;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("contrast_enhancement (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_insig,&__pyx_n_s_fm_index,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_insig)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1382, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fm_index);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1382, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "contrast_enhancement") < 0)) __PYX_ERR(0, 1382, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_insig = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_insig == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1382, __pyx_L3_error)
if (values[1]) {
__pyx_v_fm_index = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_fm_index == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1382, __pyx_L3_error)
} else {
__pyx_v_fm_index = ((double)1.0);
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("contrast_enhancement", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 1382, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.contrast_enhancement", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_176contrast_enhancement(__pyx_self, __pyx_v_insig, __pyx_v_fm_index);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_176contrast_enhancement(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_insig, double __pyx_v_fm_index) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("contrast_enhancement", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.fm_index = __pyx_v_fm_index;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_contrast_enhancement(__pyx_v_insig, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1382, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1382, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.contrast_enhancement", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__223 = PyTuple_Pack(2, __pyx_n_s_insig, __pyx_n_s_fm_index); if (unlikely(!__pyx_tuple__223)) __PYX_ERR(0, 1382, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__223);
__Pyx_GIVEREF(__pyx_tuple__223);
__pyx_codeobj__224 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__223, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_contrast_enhancement, 1382, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__224)) __PYX_ERR(0, 1382, __pyx_L1_error)
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1382, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_insig, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1382, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_fm_index, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1382, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_177contrast_enhancement, 0, __pyx_n_s_contrast_enhancement, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__224)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1382, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_tuple__225);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_contrast_enhancement, __pyx_t_41) < 0) __PYX_ERR(0, 1382, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_tuple__225 = PyTuple_Pack(1, __pyx_float_1_0); if (unlikely(!__pyx_tuple__225)) __PYX_ERR(0, 1382, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__225);
__Pyx_GIVEREF(__pyx_tuple__225);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_contrast_enhancement {
int __pyx_n;
double fm_index;
};
1383: """
1384: returns insig (index 1.0)): sin(sig * pi / 2 + fm_index * sin(sig * 2 * pi))
1385: contrast_enhancement passes its input to sin as a kind of phase modulation.
1386:
1387: :param insig: input
1388: :param fm_index:
1389: :return: result
1390: :rtype: float
1391:
1392: """
+1393: return cclm.mus_contrast_enhancement(insig, fm_index)
__pyx_r = mus_contrast_enhancement(__pyx_v_insig, __pyx_v_fm_index); goto __pyx_L0;
1394:
1395:
+1396: cpdef cython.double dot_product(data1: npt.NDArray[np.float64], data2: npt.NDArray[np.float64]):
static PyObject *__pyx_pw_8pysndlib_3clm_179dot_product(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_dot_product(PyObject *__pyx_v_data1, PyObject *__pyx_v_data2, CYTHON_UNUSED int __pyx_skip_dispatch) {
__Pyx_memviewslice __pyx_v_data1_view = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_data2_view = { 0, 0, { 0 }, { 0 }, { 0 } };
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("dot_product", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_5, 1);
__Pyx_AddTraceback("pysndlib.clm.dot_product", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_data1_view, 1);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_data2_view, 1);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_179dot_product(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_178dot_product, "\n returns v1 v2 (size)): sum of v1[i] * v2[i] (also named scalar product)\n \n :param data1: input 1\n :param data2: input 2\n :return: result\n :rtype: float\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_179dot_product = {"dot_product", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_179dot_product, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_178dot_product};
static PyObject *__pyx_pw_8pysndlib_3clm_179dot_product(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_data1 = 0;
PyObject *__pyx_v_data2 = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("dot_product (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_data1,&__pyx_n_s_data2,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_data1)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1396, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_data2)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1396, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("dot_product", 1, 2, 2, 1); __PYX_ERR(0, 1396, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "dot_product") < 0)) __PYX_ERR(0, 1396, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_data1 = values[0];
__pyx_v_data2 = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("dot_product", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1396, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.dot_product", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_178dot_product(__pyx_self, __pyx_v_data1, __pyx_v_data2);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_178dot_product(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_data1, PyObject *__pyx_v_data2) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("dot_product", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_dot_product(__pyx_v_data1, __pyx_v_data2, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1396, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1396, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.dot_product", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__226 = PyTuple_Pack(2, __pyx_n_s_data1, __pyx_n_s_data2); if (unlikely(!__pyx_tuple__226)) __PYX_ERR(0, 1396, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__226);
__Pyx_GIVEREF(__pyx_tuple__226);
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1396, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_data1, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1396, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_data2, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1396, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_179dot_product, 0, __pyx_n_s_dot_product, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__227)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1396, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_dot_product, __pyx_t_40) < 0) __PYX_ERR(0, 1396, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__227 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__226, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_dot_product, 1396, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__227)) __PYX_ERR(0, 1396, __pyx_L1_error)
1397: """
1398: returns v1 v2 (size)): sum of v1[i] * v2[i] (also named scalar product)
1399:
1400: :param data1: input 1
1401: :param data2: input 2
1402: :return: result
1403: :rtype: float
1404:
1405: """
+1406: check_ndim(data1)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_data1}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1407: check_ndim(data2)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1407, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_data2}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1407, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1408: compare_shapes(data1, data2)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_compare_shapes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1408, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_v_data1, __pyx_v_data2}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1408, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1409:
+1410: cdef double [:] data1_view = data1
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_data1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 1410, __pyx_L1_error) __pyx_v_data1_view = __pyx_t_5; __pyx_t_5.memview = NULL; __pyx_t_5.data = NULL;
+1411: cdef double [:] data2_view = data2
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_data2, PyBUF_WRITABLE); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 1411, __pyx_L1_error) __pyx_v_data2_view = __pyx_t_5; __pyx_t_5.memview = NULL; __pyx_t_5.data = NULL;
+1412: return cclm.mus_dot_product(&data1_view[0], &data2_view[0], len(data1))
__pyx_t_6 = 0;
__pyx_t_4 = -1;
if (__pyx_t_6 < 0) {
__pyx_t_6 += __pyx_v_data1_view.shape[0];
if (unlikely(__pyx_t_6 < 0)) __pyx_t_4 = 0;
} else if (unlikely(__pyx_t_6 >= __pyx_v_data1_view.shape[0])) __pyx_t_4 = 0;
if (unlikely(__pyx_t_4 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_4);
__PYX_ERR(0, 1412, __pyx_L1_error)
}
__pyx_t_7 = 0;
__pyx_t_4 = -1;
if (__pyx_t_7 < 0) {
__pyx_t_7 += __pyx_v_data2_view.shape[0];
if (unlikely(__pyx_t_7 < 0)) __pyx_t_4 = 0;
} else if (unlikely(__pyx_t_7 >= __pyx_v_data2_view.shape[0])) __pyx_t_4 = 0;
if (unlikely(__pyx_t_4 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_4);
__PYX_ERR(0, 1412, __pyx_L1_error)
}
__pyx_t_8 = PyObject_Length(__pyx_v_data1); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1412, __pyx_L1_error)
__pyx_r = mus_dot_product((&(*((double *) ( /* dim=0 */ (__pyx_v_data1_view.data + __pyx_t_6 * __pyx_v_data1_view.strides[0]) )))), (&(*((double *) ( /* dim=0 */ (__pyx_v_data2_view.data + __pyx_t_7 * __pyx_v_data2_view.strides[0]) )))), __pyx_t_8);
goto __pyx_L0;
1413:
+1414: cpdef cython.double polynomial(coeffs: npt.NDArray[np.float64], x: cython.double ):
static PyObject *__pyx_pw_8pysndlib_3clm_181polynomial(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_polynomial(PyObject *__pyx_v_coeffs, double __pyx_v_x, CYTHON_UNUSED int __pyx_skip_dispatch) {
__Pyx_memviewslice __pyx_v_coeffs_view = { 0, 0, { 0 }, { 0 }, { 0 } };
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("polynomial", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_5, 1);
__Pyx_AddTraceback("pysndlib.clm.polynomial", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_coeffs_view, 1);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_181polynomial(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_180polynomial, "\n evaluate a polynomial at x. coeffs are in order of degree, so coeff[0] is the constant term.\n \n :param coeffs: coefficients where coeffs[0] is the constant term, and so on.\n :param x: input\n :return: result\n :rtype: float\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_181polynomial = {"polynomial", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_181polynomial, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_180polynomial};
static PyObject *__pyx_pw_8pysndlib_3clm_181polynomial(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_coeffs = 0;
double __pyx_v_x;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("polynomial (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_coeffs,&__pyx_n_s_x,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_coeffs)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1414, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1414, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("polynomial", 1, 2, 2, 1); __PYX_ERR(0, 1414, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "polynomial") < 0)) __PYX_ERR(0, 1414, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_coeffs = values[0];
__pyx_v_x = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1414, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("polynomial", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1414, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.polynomial", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_180polynomial(__pyx_self, __pyx_v_coeffs, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_180polynomial(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_coeffs, double __pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("polynomial", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_polynomial(__pyx_v_coeffs, __pyx_v_x, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1414, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1414, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.polynomial", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__228 = PyTuple_Pack(2, __pyx_n_s_coeffs, __pyx_n_s_x); if (unlikely(!__pyx_tuple__228)) __PYX_ERR(0, 1414, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__228);
__Pyx_GIVEREF(__pyx_tuple__228);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1414, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_coeffs, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1414, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_x, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1414, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_181polynomial, 0, __pyx_n_s_polynomial, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__229)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1414, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_polynomial, __pyx_t_41) < 0) __PYX_ERR(0, 1414, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__229 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__228, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_polynomial, 1414, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__229)) __PYX_ERR(0, 1414, __pyx_L1_error)
1415: """
1416: evaluate a polynomial at x. coeffs are in order of degree, so coeff[0] is the constant term.
1417:
1418: :param coeffs: coefficients where coeffs[0] is the constant term, and so on.
1419: :param x: input
1420: :return: result
1421: :rtype: float
1422:
1423: """
+1424: check_ndim(coeffs)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1424, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_coeffs}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1424, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1425: cdef double [:] coeffs_view = coeffs
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_coeffs, PyBUF_WRITABLE); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 1425, __pyx_L1_error) __pyx_v_coeffs_view = __pyx_t_5; __pyx_t_5.memview = NULL; __pyx_t_5.data = NULL;
+1426: return cclm.mus_polynomial(&coeffs_view[0], x, len(coeffs))
__pyx_t_6 = 0;
__pyx_t_4 = -1;
if (__pyx_t_6 < 0) {
__pyx_t_6 += __pyx_v_coeffs_view.shape[0];
if (unlikely(__pyx_t_6 < 0)) __pyx_t_4 = 0;
} else if (unlikely(__pyx_t_6 >= __pyx_v_coeffs_view.shape[0])) __pyx_t_4 = 0;
if (unlikely(__pyx_t_4 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_4);
__PYX_ERR(0, 1426, __pyx_L1_error)
}
__pyx_t_7 = PyObject_Length(__pyx_v_coeffs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1426, __pyx_L1_error)
__pyx_r = mus_polynomial((&(*((double *) ( /* dim=0 */ (__pyx_v_coeffs_view.data + __pyx_t_6 * __pyx_v_coeffs_view.strides[0]) )))), __pyx_v_x, __pyx_t_7);
goto __pyx_L0;
1427:
+1428: cpdef cython.double array_interp(fn: npt.NDArray[np.float64], x: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_183array_interp(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_array_interp(PyObject *__pyx_v_fn, double __pyx_v_x, CYTHON_UNUSED int __pyx_skip_dispatch) {
__Pyx_memviewslice __pyx_v_fn_view = { 0, 0, { 0 }, { 0 }, { 0 } };
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("array_interp", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_5, 1);
__Pyx_AddTraceback("pysndlib.clm.array_interp", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_fn_view, 1);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_183array_interp(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_182array_interp, "\n taking into account wrap-around (size is size of data), with linear interpolation if phase is not an integer.\n \n :param fn: input array\n :param x: interp point\n :return: result\n :rtype: float\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_183array_interp = {"array_interp", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_183array_interp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_182array_interp};
static PyObject *__pyx_pw_8pysndlib_3clm_183array_interp(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_fn = 0;
double __pyx_v_x;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("array_interp (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fn,&__pyx_n_s_x,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fn)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1428, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1428, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("array_interp", 1, 2, 2, 1); __PYX_ERR(0, 1428, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "array_interp") < 0)) __PYX_ERR(0, 1428, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_fn = values[0];
__pyx_v_x = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1428, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("array_interp", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1428, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.array_interp", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_182array_interp(__pyx_self, __pyx_v_fn, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_182array_interp(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fn, double __pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("array_interp", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_array_interp(__pyx_v_fn, __pyx_v_x, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1428, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1428, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.array_interp", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__230 = PyTuple_Pack(2, __pyx_n_s_fn, __pyx_n_s_x); if (unlikely(!__pyx_tuple__230)) __PYX_ERR(0, 1428, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__230);
__Pyx_GIVEREF(__pyx_tuple__230);
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1428, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_fn, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1428, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1428, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_183array_interp, 0, __pyx_n_s_array_interp, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__231)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1428, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_array_interp, __pyx_t_40) < 0) __PYX_ERR(0, 1428, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__231 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__230, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_array_interp, 1428, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__231)) __PYX_ERR(0, 1428, __pyx_L1_error)
1429: """
1430: taking into account wrap-around (size is size of data), with linear interpolation if phase is not an integer.
1431:
1432: :param fn: input array
1433: :param x: interp point
1434: :return: result
1435: :rtype: float
1436:
1437: """
+1438: check_ndim(fn)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_fn}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1439: cdef double [:] fn_view = fn
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_fn, PyBUF_WRITABLE); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 1439, __pyx_L1_error) __pyx_v_fn_view = __pyx_t_5; __pyx_t_5.memview = NULL; __pyx_t_5.data = NULL;
+1440: return cclm.mus_array_interp(&fn_view[0], x, len(fn))
__pyx_t_6 = 0;
__pyx_t_4 = -1;
if (__pyx_t_6 < 0) {
__pyx_t_6 += __pyx_v_fn_view.shape[0];
if (unlikely(__pyx_t_6 < 0)) __pyx_t_4 = 0;
} else if (unlikely(__pyx_t_6 >= __pyx_v_fn_view.shape[0])) __pyx_t_4 = 0;
if (unlikely(__pyx_t_4 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_4);
__PYX_ERR(0, 1440, __pyx_L1_error)
}
__pyx_t_7 = PyObject_Length(__pyx_v_fn); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1440, __pyx_L1_error)
__pyx_r = mus_array_interp((&(*((double *) ( /* dim=0 */ (__pyx_v_fn_view.data + __pyx_t_6 * __pyx_v_fn_view.strides[0]) )))), __pyx_v_x, __pyx_t_7);
goto __pyx_L0;
1441:
+1442: cpdef cython.double bessi0(x: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_185bessi0(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_bessi0(double __pyx_v_x, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("bessi0", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_185bessi0(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_184bessi0, "\n bessel function of zeroth order\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_185bessi0 = {"bessi0", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_185bessi0, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_184bessi0};
static PyObject *__pyx_pw_8pysndlib_3clm_185bessi0(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_x;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("bessi0 (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1442, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "bessi0") < 0)) __PYX_ERR(0, 1442, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1442, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("bessi0", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1442, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.bessi0", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_184bessi0(__pyx_self, __pyx_v_x);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_184bessi0(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_x) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("bessi0", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_bessi0(__pyx_v_x, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1442, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1442, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.bessi0", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1442, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_x, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1442, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_185bessi0, 0, __pyx_n_s_bessi0, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__232)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1442, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_bessi0, __pyx_t_41) < 0) __PYX_ERR(0, 1442, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__232 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_bessi0, 1442, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__232)) __PYX_ERR(0, 1442, __pyx_L1_error)
1443: """
1444: bessel function of zeroth order
1445: """
+1446: return cclm.mus_bessi0(x)
__pyx_r = mus_bessi0(__pyx_v_x); goto __pyx_L0;
1447:
+1448: cpdef cython.double mus_interpolate(interp_type: Interp, x: cython.double, table: npt.NDArray[np.float64], y1: cython.double = 0.):
static PyObject *__pyx_pw_8pysndlib_3clm_187mus_interpolate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_mus_interpolate(enum __pyx_t_8pysndlib_3clm_Interp __pyx_v_interp_type, double __pyx_v_x, PyObject *__pyx_v_table, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_mus_interpolate *__pyx_optional_args) {
double __pyx_v_y1 = ((double)0.);
__Pyx_memviewslice __pyx_v_table_view = { 0, 0, { 0 }, { 0 }, { 0 } };
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("mus_interpolate", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_y1 = __pyx_optional_args->y1;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_5, 1);
__Pyx_AddTraceback("pysndlib.clm.mus_interpolate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_table_view, 1);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_187mus_interpolate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_186mus_interpolate, "\n interpolate in data ('table' is a ndarray) using interpolation 'type', such as Interp.linear.\n \n :param interp_type: type of interpolation\n :param x: interpolation value\n :param table: table to interpolate in\n :return: result\n :rtype: float\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_187mus_interpolate = {"mus_interpolate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_187mus_interpolate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_186mus_interpolate};
static PyObject *__pyx_pw_8pysndlib_3clm_187mus_interpolate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
enum __pyx_t_8pysndlib_3clm_Interp __pyx_v_interp_type;
double __pyx_v_x;
PyObject *__pyx_v_table = 0;
double __pyx_v_y1;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("mus_interpolate (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_interp_type,&__pyx_n_s_x,&__pyx_n_s_table,&__pyx_n_s_y1,0};
PyObject* values[4] = {0,0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_interp_type)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1448, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1448, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("mus_interpolate", 0, 3, 4, 1); __PYX_ERR(0, 1448, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_table)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1448, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("mus_interpolate", 0, 3, 4, 2); __PYX_ERR(0, 1448, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_y1);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1448, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "mus_interpolate") < 0)) __PYX_ERR(0, 1448, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_interp_type = ((enum __pyx_t_8pysndlib_3clm_Interp)__Pyx_PyInt_As_enum____pyx_t_8pysndlib_3clm_Interp(values[0])); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1448, __pyx_L3_error)
__pyx_v_x = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1448, __pyx_L3_error)
__pyx_v_table = values[2];
if (values[3]) {
__pyx_v_y1 = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_y1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1448, __pyx_L3_error)
} else {
__pyx_v_y1 = ((double)0.);
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("mus_interpolate", 0, 3, 4, __pyx_nargs); __PYX_ERR(0, 1448, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.mus_interpolate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_186mus_interpolate(__pyx_self, __pyx_v_interp_type, __pyx_v_x, __pyx_v_table, __pyx_v_y1);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_186mus_interpolate(CYTHON_UNUSED PyObject *__pyx_self, enum __pyx_t_8pysndlib_3clm_Interp __pyx_v_interp_type, double __pyx_v_x, PyObject *__pyx_v_table, double __pyx_v_y1) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("mus_interpolate", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.y1 = __pyx_v_y1;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_mus_interpolate(__pyx_v_interp_type, __pyx_v_x, __pyx_v_table, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1448, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1448, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.mus_interpolate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__233 = PyTuple_Pack(4, __pyx_n_s_interp_type, __pyx_n_s_x, __pyx_n_s_table, __pyx_n_s_y1); if (unlikely(!__pyx_tuple__233)) __PYX_ERR(0, 1448, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__233);
__Pyx_GIVEREF(__pyx_tuple__233);
__pyx_codeobj__234 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__233, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_mus_interpolate, 1448, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__234)) __PYX_ERR(0, 1448, __pyx_L1_error)
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1448, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_interp_type, __pyx_n_s_Interp) < 0) __PYX_ERR(0, 1448, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_x, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1448, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_table, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1448, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_y1, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1448, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_187mus_interpolate, 0, __pyx_n_s_mus_interpolate, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__234)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1448, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_tuple__235);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_mus_interpolate, __pyx_t_40) < 0) __PYX_ERR(0, 1448, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_tuple__235 = PyTuple_Pack(1, __pyx_float_0_); if (unlikely(!__pyx_tuple__235)) __PYX_ERR(0, 1448, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__235);
__Pyx_GIVEREF(__pyx_tuple__235);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_mus_interpolate {
int __pyx_n;
double y1;
};
1449: """
1450: interpolate in data ('table' is a ndarray) using interpolation 'type', such as Interp.linear.
1451:
1452: :param interp_type: type of interpolation
1453: :param x: interpolation value
1454: :param table: table to interpolate in
1455: :return: result
1456: :rtype: float
1457:
1458: """
+1459: check_ndim(table)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_table}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1460: cdef double [:] table_view = table
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_table, PyBUF_WRITABLE); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 1460, __pyx_L1_error) __pyx_v_table_view = __pyx_t_5; __pyx_t_5.memview = NULL; __pyx_t_5.data = NULL;
+1461: return cclm.mus_interpolate(<cclm.mus_interp_t>interp_type, x, &table_view[0], len(table), y1)
__pyx_t_6 = 0;
__pyx_t_4 = -1;
if (__pyx_t_6 < 0) {
__pyx_t_6 += __pyx_v_table_view.shape[0];
if (unlikely(__pyx_t_6 < 0)) __pyx_t_4 = 0;
} else if (unlikely(__pyx_t_6 >= __pyx_v_table_view.shape[0])) __pyx_t_4 = 0;
if (unlikely(__pyx_t_4 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_4);
__PYX_ERR(0, 1461, __pyx_L1_error)
}
__pyx_t_7 = PyObject_Length(__pyx_v_table); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1461, __pyx_L1_error)
__pyx_r = mus_interpolate(((mus_interp_t)__pyx_v_interp_type), __pyx_v_x, (&(*((double *) ( /* dim=0 */ (__pyx_v_table_view.data + __pyx_t_6 * __pyx_v_table_view.strides[0]) )))), __pyx_t_7, __pyx_v_y1);
goto __pyx_L0;
1462:
+1463: cpdef np.ndarray fft(rdat: npt.NDArray[np.float64], idat: npt.NDArray[np.float64], fft_size: int, sign: int):
static PyObject *__pyx_pw_8pysndlib_3clm_189fft(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyArrayObject *__pyx_f_8pysndlib_3clm_fft(PyObject *__pyx_v_rdat, PyObject *__pyx_v_idat, PyObject *__pyx_v_fft_size, PyObject *__pyx_v_sign, CYTHON_UNUSED int __pyx_skip_dispatch) {
__Pyx_memviewslice __pyx_v_rdat_view = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_idat_view = { 0, 0, { 0 }, { 0 }, { 0 } };
CYTHON_UNUSED PyObject *__pyx_v_res = NULL;
PyArrayObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("fft", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_5, 1);
__Pyx_AddTraceback("pysndlib.clm.fft", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_rdat_view, 1);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_idat_view, 1);
__Pyx_XDECREF(__pyx_v_res);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_189fft(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_188fft, "\n return the fft of rl and im which contain the real and imaginary parts of the data; len should be a power of 2, dir = 1 for fft, -1 for inverse-fft\n \n :param rdat: real data\n :param imaginary: imaginary data\n :param fft_size: must be power of two\n :param sign: 1 for fft, -1 for inverse-fft\n :return: result written into rdat\n :rtype: np.ndarray\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_189fft = {"fft", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_189fft, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_188fft};
static PyObject *__pyx_pw_8pysndlib_3clm_189fft(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_rdat = 0;
PyObject *__pyx_v_idat = 0;
PyObject *__pyx_v_fft_size = 0;
PyObject *__pyx_v_sign = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("fft (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_rdat,&__pyx_n_s_idat,&__pyx_n_s_fft_size,&__pyx_n_s_sign,0};
PyObject* values[4] = {0,0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_rdat)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1463, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_idat)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1463, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("fft", 1, 4, 4, 1); __PYX_ERR(0, 1463, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fft_size)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1463, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("fft", 1, 4, 4, 2); __PYX_ERR(0, 1463, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_sign)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1463, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("fft", 1, 4, 4, 3); __PYX_ERR(0, 1463, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "fft") < 0)) __PYX_ERR(0, 1463, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 4)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
}
__pyx_v_rdat = values[0];
__pyx_v_idat = values[1];
__pyx_v_fft_size = ((PyObject*)values[2]);
__pyx_v_sign = ((PyObject*)values[3]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("fft", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 1463, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.fft", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fft_size), (&PyInt_Type), 0, "fft_size", 1))) __PYX_ERR(0, 1463, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sign), (&PyInt_Type), 0, "sign", 1))) __PYX_ERR(0, 1463, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_188fft(__pyx_self, __pyx_v_rdat, __pyx_v_idat, __pyx_v_fft_size, __pyx_v_sign);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_188fft(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rdat, PyObject *__pyx_v_idat, PyObject *__pyx_v_fft_size, PyObject *__pyx_v_sign) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("fft", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_fft(__pyx_v_rdat, __pyx_v_idat, __pyx_v_fft_size, __pyx_v_sign, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1463, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.fft", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__236 = PyTuple_Pack(4, __pyx_n_s_rdat, __pyx_n_s_idat, __pyx_n_s_fft_size, __pyx_n_s_sign); if (unlikely(!__pyx_tuple__236)) __PYX_ERR(0, 1463, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__236);
__Pyx_GIVEREF(__pyx_tuple__236);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1463, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_rdat, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1463, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_idat, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1463, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_fft_size, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 1463, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_sign, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 1463, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_189fft, 0, __pyx_n_s_fft, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__237)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1463, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_fft, __pyx_t_41) < 0) __PYX_ERR(0, 1463, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__237 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__236, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_fft, 1463, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__237)) __PYX_ERR(0, 1463, __pyx_L1_error)
1464: """
1465: return the fft of rl and im which contain the real and imaginary parts of the data; len should be a power of 2, dir = 1 for fft, -1 for inverse-fft
1466:
1467: :param rdat: real data
1468: :param imaginary: imaginary data
1469: :param fft_size: must be power of two
1470: :param sign: 1 for fft, -1 for inverse-fft
1471: :return: result written into rdat
1472: :rtype: np.ndarray
1473:
1474: """
+1475: check_ndim(rdat)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_rdat}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1476: check_ndim(idat)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_idat}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1477: compare_shapes(rdat, idat)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_compare_shapes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1477, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_v_rdat, __pyx_v_idat}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1477, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1478:
+1479: cdef double [:] rdat_view = rdat
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_rdat, PyBUF_WRITABLE); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 1479, __pyx_L1_error) __pyx_v_rdat_view = __pyx_t_5; __pyx_t_5.memview = NULL; __pyx_t_5.data = NULL;
+1480: cdef double [:] idat_view = idat
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_idat, PyBUF_WRITABLE); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 1480, __pyx_L1_error) __pyx_v_idat_view = __pyx_t_5; __pyx_t_5.memview = NULL; __pyx_t_5.data = NULL;
+1481: res = cclm.mus_fft(&rdat_view[0], &idat_view[0], fft_size, sign)
__pyx_t_6 = 0;
__pyx_t_4 = -1;
if (__pyx_t_6 < 0) {
__pyx_t_6 += __pyx_v_rdat_view.shape[0];
if (unlikely(__pyx_t_6 < 0)) __pyx_t_4 = 0;
} else if (unlikely(__pyx_t_6 >= __pyx_v_rdat_view.shape[0])) __pyx_t_4 = 0;
if (unlikely(__pyx_t_4 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_4);
__PYX_ERR(0, 1481, __pyx_L1_error)
}
__pyx_t_7 = 0;
__pyx_t_4 = -1;
if (__pyx_t_7 < 0) {
__pyx_t_7 += __pyx_v_idat_view.shape[0];
if (unlikely(__pyx_t_7 < 0)) __pyx_t_4 = 0;
} else if (unlikely(__pyx_t_7 >= __pyx_v_idat_view.shape[0])) __pyx_t_4 = 0;
if (unlikely(__pyx_t_4 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_4);
__PYX_ERR(0, 1481, __pyx_L1_error)
}
__pyx_t_8 = __Pyx_PyInt_As_mus_long_t(__pyx_v_fft_size); if (unlikely((__pyx_t_8 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1481, __pyx_L1_error)
__pyx_t_4 = __Pyx_PyInt_As_int(__pyx_v_sign); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1481, __pyx_L1_error)
__pyx_t_1 = __Pyx_void_to_None(mus_fft((&(*((double *) ( /* dim=0 */ (__pyx_v_rdat_view.data + __pyx_t_6 * __pyx_v_rdat_view.strides[0]) )))), (&(*((double *) ( /* dim=0 */ (__pyx_v_idat_view.data + __pyx_t_7 * __pyx_v_idat_view.strides[0]) )))), __pyx_t_8, __pyx_t_4)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1481, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_res = __pyx_t_1;
__pyx_t_1 = 0;
+1482: return rdat
__Pyx_XDECREF((PyObject *)__pyx_r); if (!(likely(((__pyx_v_rdat) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_rdat, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1482, __pyx_L1_error) __Pyx_INCREF(__pyx_v_rdat); __pyx_r = ((PyArrayObject *)__pyx_v_rdat); goto __pyx_L0;
1483:
+1484: cpdef np.ndarray make_fft_window(window_type: Window, size: int, beta: Optional[float]=0.0, alpha: Optional[float]=0.0):
static PyObject *__pyx_pw_8pysndlib_3clm_191make_fft_window(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyArrayObject *__pyx_f_8pysndlib_3clm_make_fft_window(enum __pyx_t_8pysndlib_3clm_Window __pyx_v_window_type, PyObject *__pyx_v_size, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_fft_window *__pyx_optional_args) {
PyObject *__pyx_v_beta = ((PyObject *)__pyx_float_0_0);
PyObject *__pyx_v_alpha = ((PyObject *)__pyx_float_0_0);
PyObject *__pyx_v_win = NULL;
__Pyx_memviewslice __pyx_v_win_view = { 0, 0, { 0 }, { 0 }, { 0 } };
PyArrayObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_fft_window", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_beta = __pyx_optional_args->beta;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_alpha = __pyx_optional_args->alpha;
}
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_7, 1);
__Pyx_AddTraceback("pysndlib.clm.make_fft_window", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_win);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_win_view, 1);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_191make_fft_window(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_190make_fft_window, "\n fft data window (a ndarray). type is one of the sndlib fft window identifiers such as window.kaiser, beta is the window family parameter, if any.\n \n :param window_type: type of window\n :param size: window size\n :param beta: beta parameter if needed\n :param alpha: alpha parameter if needed\n :return: window\n :rtype: np.ndarray\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_191make_fft_window = {"make_fft_window", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_191make_fft_window, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_190make_fft_window};
static PyObject *__pyx_pw_8pysndlib_3clm_191make_fft_window(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
enum __pyx_t_8pysndlib_3clm_Window __pyx_v_window_type;
PyObject *__pyx_v_size = 0;
PyObject *__pyx_v_beta = 0;
PyObject *__pyx_v_alpha = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_fft_window (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_window_type,&__pyx_n_s_size,&__pyx_n_s_beta,&__pyx_n_s_alpha,0};
PyObject* values[4] = {0,0,0,0};
values[2] = ((PyObject *)__pyx_float_0_0);
values[3] = ((PyObject *)__pyx_float_0_0);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_window_type)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1484, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1484, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_fft_window", 0, 2, 4, 1); __PYX_ERR(0, 1484, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_beta);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1484, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_alpha);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1484, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_fft_window") < 0)) __PYX_ERR(0, 1484, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_window_type = ((enum __pyx_t_8pysndlib_3clm_Window)__Pyx_PyInt_As_enum____pyx_t_8pysndlib_3clm_Window(values[0])); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1484, __pyx_L3_error)
__pyx_v_size = ((PyObject*)values[1]);
__pyx_v_beta = values[2];
__pyx_v_alpha = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_fft_window", 0, 2, 4, __pyx_nargs); __PYX_ERR(0, 1484, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_fft_window", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_size), (&PyInt_Type), 0, "size", 1))) __PYX_ERR(0, 1484, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_190make_fft_window(__pyx_self, __pyx_v_window_type, __pyx_v_size, __pyx_v_beta, __pyx_v_alpha);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_190make_fft_window(CYTHON_UNUSED PyObject *__pyx_self, enum __pyx_t_8pysndlib_3clm_Window __pyx_v_window_type, PyObject *__pyx_v_size, PyObject *__pyx_v_beta, PyObject *__pyx_v_alpha) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_fft_window", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 2;
__pyx_t_2.beta = __pyx_v_beta;
__pyx_t_2.alpha = __pyx_v_alpha;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_fft_window(__pyx_v_window_type, __pyx_v_size, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1484, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_fft_window", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__238 = PyTuple_Pack(4, __pyx_n_s_window_type, __pyx_n_s_size, __pyx_n_s_beta, __pyx_n_s_alpha); if (unlikely(!__pyx_tuple__238)) __PYX_ERR(0, 1484, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__238);
__Pyx_GIVEREF(__pyx_tuple__238);
__pyx_codeobj__239 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__238, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_fft_window, 1484, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__239)) __PYX_ERR(0, 1484, __pyx_L1_error)
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1484, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_window_type, __pyx_n_s_Window) < 0) __PYX_ERR(0, 1484, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_size, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 1484, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_beta, __pyx_kp_s_Optional_float) < 0) __PYX_ERR(0, 1484, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_alpha, __pyx_kp_s_Optional_float) < 0) __PYX_ERR(0, 1484, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_191make_fft_window, 0, __pyx_n_s_make_fft_window, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__239)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1484, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_tuple__240);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_fft_window, __pyx_t_40) < 0) __PYX_ERR(0, 1484, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_tuple__240 = PyTuple_Pack(2, __pyx_float_0_0, __pyx_float_0_0); if (unlikely(!__pyx_tuple__240)) __PYX_ERR(0, 1484, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__240);
__Pyx_GIVEREF(__pyx_tuple__240);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_fft_window {
int __pyx_n;
PyObject *beta;
PyObject *alpha;
};
1485: """
1486: fft data window (a ndarray). type is one of the sndlib fft window identifiers such as window.kaiser, beta is the window family parameter, if any.
1487:
1488: :param window_type: type of window
1489: :param size: window size
1490: :param beta: beta parameter if needed
1491: :param alpha: alpha parameter if needed
1492: :return: window
1493: :rtype: np.ndarray
1494:
1495: """
+1496: win = np.zeros(size, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1496, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1496, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1496, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_size); __Pyx_GIVEREF(__pyx_v_size); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_size); __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1496, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1496, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_double); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1496, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1496, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1496, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_win = __pyx_t_5; __pyx_t_5 = 0;
+1497: check_ndim(win)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1497, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_win}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1497, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1498:
+1499: cdef double [:] win_view = win
__pyx_t_7 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_win, PyBUF_WRITABLE); if (unlikely(!__pyx_t_7.memview)) __PYX_ERR(0, 1499, __pyx_L1_error) __pyx_v_win_view = __pyx_t_7; __pyx_t_7.memview = NULL; __pyx_t_7.data = NULL;
+1500: cclm.mus_make_fft_window_with_window(<cclm.mus_fft_window_t>window_type, size, beta, alpha, &win_view[0])
__pyx_t_8 = __Pyx_PyInt_As_mus_long_t(__pyx_v_size); if (unlikely((__pyx_t_8 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1500, __pyx_L1_error) __pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_v_beta); if (unlikely((__pyx_t_9 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1500, __pyx_L1_error) __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_v_alpha); if (unlikely((__pyx_t_10 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1500, __pyx_L1_error) __pyx_t_11 = 0; __pyx_t_6 = -1; if (__pyx_t_11 < 0) { __pyx_t_11 += __pyx_v_win_view.shape[0]; if (unlikely(__pyx_t_11 < 0)) __pyx_t_6 = 0; } else if (unlikely(__pyx_t_11 >= __pyx_v_win_view.shape[0])) __pyx_t_6 = 0; if (unlikely(__pyx_t_6 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_6); __PYX_ERR(0, 1500, __pyx_L1_error) } (void)(mus_make_fft_window_with_window(((mus_fft_window_t)__pyx_v_window_type), __pyx_t_8, __pyx_t_9, __pyx_t_10, (&(*((double *) ( /* dim=0 */ (__pyx_v_win_view.data + __pyx_t_11 * __pyx_v_win_view.strides[0]) ))))));
+1501: return win
__Pyx_XDECREF((PyObject *)__pyx_r); if (!(likely(((__pyx_v_win) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_win, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1501, __pyx_L1_error) __Pyx_INCREF(__pyx_v_win); __pyx_r = ((PyArrayObject *)__pyx_v_win); goto __pyx_L0;
1502:
+1503: cpdef np.ndarray rectangular2polar(rdat: npt.NDArray[np.float64], idat: npt.NDArray[np.float64]):
static PyObject *__pyx_pw_8pysndlib_3clm_193rectangular2polar(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyArrayObject *__pyx_f_8pysndlib_3clm_rectangular2polar(PyObject *__pyx_v_rdat, PyObject *__pyx_v_idat, CYTHON_UNUSED int __pyx_skip_dispatch) {
Py_ssize_t __pyx_v_size;
__Pyx_memviewslice __pyx_v_rdat_view = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_idat_view = { 0, 0, { 0 }, { 0 }, { 0 } };
CYTHON_UNUSED PyObject *__pyx_v_res = NULL;
PyArrayObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("rectangular2polar", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_6, 1);
__Pyx_AddTraceback("pysndlib.clm.rectangular2polar", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_rdat_view, 1);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_idat_view, 1);
__Pyx_XDECREF(__pyx_v_res);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_193rectangular2polar(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_192rectangular2polar, "\n convert real/imaginary data in s rl and im from rectangular form (fft output) to polar form (a spectrum)\n \n :param rdat: real data\n :param imaginary: imaginary data\n :return: magnitude written into rdat, idat contains phases\n :rtype: np.ndarray\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_193rectangular2polar = {"rectangular2polar", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_193rectangular2polar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_192rectangular2polar};
static PyObject *__pyx_pw_8pysndlib_3clm_193rectangular2polar(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_rdat = 0;
PyObject *__pyx_v_idat = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("rectangular2polar (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_rdat,&__pyx_n_s_idat,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_rdat)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1503, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_idat)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1503, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("rectangular2polar", 1, 2, 2, 1); __PYX_ERR(0, 1503, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "rectangular2polar") < 0)) __PYX_ERR(0, 1503, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_rdat = values[0];
__pyx_v_idat = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("rectangular2polar", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1503, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.rectangular2polar", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_192rectangular2polar(__pyx_self, __pyx_v_rdat, __pyx_v_idat);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_192rectangular2polar(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rdat, PyObject *__pyx_v_idat) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("rectangular2polar", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_rectangular2polar(__pyx_v_rdat, __pyx_v_idat, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1503, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.rectangular2polar", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__241 = PyTuple_Pack(2, __pyx_n_s_rdat, __pyx_n_s_idat); if (unlikely(!__pyx_tuple__241)) __PYX_ERR(0, 1503, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__241);
__Pyx_GIVEREF(__pyx_tuple__241);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1503, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_rdat, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1503, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_idat, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1503, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_193rectangular2polar, 0, __pyx_n_s_rectangular2polar, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__242)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1503, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_rectangular2polar, __pyx_t_41) < 0) __PYX_ERR(0, 1503, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__242 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__241, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_rectangular2polar, 1503, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__242)) __PYX_ERR(0, 1503, __pyx_L1_error)
1504: """
1505: convert real/imaginary data in s rl and im from rectangular form (fft output) to polar form (a spectrum)
1506:
1507: :param rdat: real data
1508: :param imaginary: imaginary data
1509: :return: magnitude written into rdat, idat contains phases
1510: :rtype: np.ndarray
1511:
1512: """
+1513: size = len(rdat)
__pyx_t_1 = PyObject_Length(__pyx_v_rdat); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1513, __pyx_L1_error) __pyx_v_size = __pyx_t_1;
1514:
+1515: check_ndim(rdat)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_rdat}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1516: check_ndim(idat)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1516, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_idat}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1516, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1517: compare_shapes(rdat, idat)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_compare_shapes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1517, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_v_rdat, __pyx_v_idat}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1517, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1518:
+1519: cdef double [:] rdat_view = rdat
__pyx_t_6 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_rdat, PyBUF_WRITABLE); if (unlikely(!__pyx_t_6.memview)) __PYX_ERR(0, 1519, __pyx_L1_error) __pyx_v_rdat_view = __pyx_t_6; __pyx_t_6.memview = NULL; __pyx_t_6.data = NULL;
+1520: cdef double [:] idat_view = idat
__pyx_t_6 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_idat, PyBUF_WRITABLE); if (unlikely(!__pyx_t_6.memview)) __PYX_ERR(0, 1520, __pyx_L1_error) __pyx_v_idat_view = __pyx_t_6; __pyx_t_6.memview = NULL; __pyx_t_6.data = NULL;
+1521: res = cclm.mus_rectangular_to_polar(&rdat_view[0], &idat_view[0], size)
__pyx_t_7 = 0;
__pyx_t_5 = -1;
if (__pyx_t_7 < 0) {
__pyx_t_7 += __pyx_v_rdat_view.shape[0];
if (unlikely(__pyx_t_7 < 0)) __pyx_t_5 = 0;
} else if (unlikely(__pyx_t_7 >= __pyx_v_rdat_view.shape[0])) __pyx_t_5 = 0;
if (unlikely(__pyx_t_5 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_5);
__PYX_ERR(0, 1521, __pyx_L1_error)
}
__pyx_t_8 = 0;
__pyx_t_5 = -1;
if (__pyx_t_8 < 0) {
__pyx_t_8 += __pyx_v_idat_view.shape[0];
if (unlikely(__pyx_t_8 < 0)) __pyx_t_5 = 0;
} else if (unlikely(__pyx_t_8 >= __pyx_v_idat_view.shape[0])) __pyx_t_5 = 0;
if (unlikely(__pyx_t_5 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_5);
__PYX_ERR(0, 1521, __pyx_L1_error)
}
__pyx_t_2 = __Pyx_void_to_None(mus_rectangular_to_polar((&(*((double *) ( /* dim=0 */ (__pyx_v_rdat_view.data + __pyx_t_7 * __pyx_v_rdat_view.strides[0]) )))), (&(*((double *) ( /* dim=0 */ (__pyx_v_idat_view.data + __pyx_t_8 * __pyx_v_idat_view.strides[0]) )))), __pyx_v_size)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1521, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_v_res = __pyx_t_2;
__pyx_t_2 = 0;
+1522: return rdat
__Pyx_XDECREF((PyObject *)__pyx_r); if (!(likely(((__pyx_v_rdat) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_rdat, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1522, __pyx_L1_error) __Pyx_INCREF(__pyx_v_rdat); __pyx_r = ((PyArrayObject *)__pyx_v_rdat); goto __pyx_L0;
1523:
+1524: cpdef np.ndarray rectangular2magnitudes(rdat: npt.NDArray[np.float64], idat: npt.NDArray[np.float64]):
static PyObject *__pyx_pw_8pysndlib_3clm_195rectangular2magnitudes(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyArrayObject *__pyx_f_8pysndlib_3clm_rectangular2magnitudes(PyObject *__pyx_v_rdat, PyObject *__pyx_v_idat, CYTHON_UNUSED int __pyx_skip_dispatch) {
Py_ssize_t __pyx_v_size;
__Pyx_memviewslice __pyx_v_rdat_view = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_idat_view = { 0, 0, { 0 }, { 0 }, { 0 } };
PyArrayObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("rectangular2magnitudes", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__PYX_XCLEAR_MEMVIEW(&__pyx_t_2, 1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("pysndlib.clm.rectangular2magnitudes", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_rdat_view, 1);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_idat_view, 1);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_195rectangular2magnitudes(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_194rectangular2magnitudes, "\n convert real/imaginary data in rl and im from rectangular form (fft output) to polar form, but ignore the phases\n \n :param rdat: real data\n :param imaginary: imaginary data\n :return: magnitude written into rdat\n :rtype: np.ndarray\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_195rectangular2magnitudes = {"rectangular2magnitudes", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_195rectangular2magnitudes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_194rectangular2magnitudes};
static PyObject *__pyx_pw_8pysndlib_3clm_195rectangular2magnitudes(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_rdat = 0;
PyObject *__pyx_v_idat = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("rectangular2magnitudes (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_rdat,&__pyx_n_s_idat,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_rdat)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1524, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_idat)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1524, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("rectangular2magnitudes", 1, 2, 2, 1); __PYX_ERR(0, 1524, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "rectangular2magnitudes") < 0)) __PYX_ERR(0, 1524, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_rdat = values[0];
__pyx_v_idat = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("rectangular2magnitudes", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1524, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.rectangular2magnitudes", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_194rectangular2magnitudes(__pyx_self, __pyx_v_rdat, __pyx_v_idat);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_194rectangular2magnitudes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rdat, PyObject *__pyx_v_idat) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("rectangular2magnitudes", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_rectangular2magnitudes(__pyx_v_rdat, __pyx_v_idat, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1524, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.rectangular2magnitudes", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1524, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_rdat, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1524, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_idat, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1524, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_195rectangular2magnitudes, 0, __pyx_n_s_rectangular2magnitudes, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__243)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1524, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_rectangular2magnitudes, __pyx_t_40) < 0) __PYX_ERR(0, 1524, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__243 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__241, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_rectangular2magnitudes, 1524, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__243)) __PYX_ERR(0, 1524, __pyx_L1_error)
1525: """
1526: convert real/imaginary data in rl and im from rectangular form (fft output) to polar form, but ignore the phases
1527:
1528: :param rdat: real data
1529: :param imaginary: imaginary data
1530: :return: magnitude written into rdat
1531: :rtype: np.ndarray
1532:
1533: """
+1534: size = len(rdat)
__pyx_t_1 = PyObject_Length(__pyx_v_rdat); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1534, __pyx_L1_error) __pyx_v_size = __pyx_t_1;
+1535: cdef double [:] rdat_view = rdat
__pyx_t_2 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_rdat, PyBUF_WRITABLE); if (unlikely(!__pyx_t_2.memview)) __PYX_ERR(0, 1535, __pyx_L1_error) __pyx_v_rdat_view = __pyx_t_2; __pyx_t_2.memview = NULL; __pyx_t_2.data = NULL;
+1536: cdef double [:] idat_view = idat
__pyx_t_2 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_idat, PyBUF_WRITABLE); if (unlikely(!__pyx_t_2.memview)) __PYX_ERR(0, 1536, __pyx_L1_error) __pyx_v_idat_view = __pyx_t_2; __pyx_t_2.memview = NULL; __pyx_t_2.data = NULL;
+1537: compare_shapes(rdat, idat)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_compare_shapes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1537, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_rdat, __pyx_v_idat}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1537, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1538:
+1539: cclm.mus_rectangular_to_magnitudes(&rdat_view[0], &idat_view[0], size)
__pyx_t_7 = 0;
__pyx_t_6 = -1;
if (__pyx_t_7 < 0) {
__pyx_t_7 += __pyx_v_rdat_view.shape[0];
if (unlikely(__pyx_t_7 < 0)) __pyx_t_6 = 0;
} else if (unlikely(__pyx_t_7 >= __pyx_v_rdat_view.shape[0])) __pyx_t_6 = 0;
if (unlikely(__pyx_t_6 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_6);
__PYX_ERR(0, 1539, __pyx_L1_error)
}
__pyx_t_8 = 0;
__pyx_t_6 = -1;
if (__pyx_t_8 < 0) {
__pyx_t_8 += __pyx_v_idat_view.shape[0];
if (unlikely(__pyx_t_8 < 0)) __pyx_t_6 = 0;
} else if (unlikely(__pyx_t_8 >= __pyx_v_idat_view.shape[0])) __pyx_t_6 = 0;
if (unlikely(__pyx_t_6 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_6);
__PYX_ERR(0, 1539, __pyx_L1_error)
}
mus_rectangular_to_magnitudes((&(*((double *) ( /* dim=0 */ (__pyx_v_rdat_view.data + __pyx_t_7 * __pyx_v_rdat_view.strides[0]) )))), (&(*((double *) ( /* dim=0 */ (__pyx_v_idat_view.data + __pyx_t_8 * __pyx_v_idat_view.strides[0]) )))), __pyx_v_size);
+1540: return rdat
__Pyx_XDECREF((PyObject *)__pyx_r); if (!(likely(((__pyx_v_rdat) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_rdat, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1540, __pyx_L1_error) __Pyx_INCREF(__pyx_v_rdat); __pyx_r = ((PyArrayObject *)__pyx_v_rdat); goto __pyx_L0;
1541:
+1542: cpdef np.ndarray polar2rectangular(rdat: npt.NDArray[np.float64], idat: npt.NDArray[np.float64]):
static PyObject *__pyx_pw_8pysndlib_3clm_197polar2rectangular(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyArrayObject *__pyx_f_8pysndlib_3clm_polar2rectangular(PyObject *__pyx_v_rdat, PyObject *__pyx_v_idat, CYTHON_UNUSED int __pyx_skip_dispatch) {
Py_ssize_t __pyx_v_size;
__Pyx_memviewslice __pyx_v_rdat_view = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_idat_view = { 0, 0, { 0 }, { 0 }, { 0 } };
PyArrayObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("polar2rectangular", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__PYX_XCLEAR_MEMVIEW(&__pyx_t_2, 1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("pysndlib.clm.polar2rectangular", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_rdat_view, 1);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_idat_view, 1);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_197polar2rectangular(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_196polar2rectangular, "\n convert real/imaginary data in rl and im from polar (spectrum) to rectangular (fft)\n \n :param rdat: magnitude data\n :param imaginary: phases data\n :return: real data written into rdat, idat contains imaginary\n :rtype: np.ndarray\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_197polar2rectangular = {"polar2rectangular", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_197polar2rectangular, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_196polar2rectangular};
static PyObject *__pyx_pw_8pysndlib_3clm_197polar2rectangular(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_rdat = 0;
PyObject *__pyx_v_idat = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("polar2rectangular (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_rdat,&__pyx_n_s_idat,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_rdat)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1542, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_idat)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1542, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("polar2rectangular", 1, 2, 2, 1); __PYX_ERR(0, 1542, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "polar2rectangular") < 0)) __PYX_ERR(0, 1542, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_rdat = values[0];
__pyx_v_idat = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("polar2rectangular", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1542, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.polar2rectangular", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_196polar2rectangular(__pyx_self, __pyx_v_rdat, __pyx_v_idat);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_196polar2rectangular(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rdat, PyObject *__pyx_v_idat) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("polar2rectangular", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_polar2rectangular(__pyx_v_rdat, __pyx_v_idat, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1542, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.polar2rectangular", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1542, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_rdat, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1542, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_idat, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1542, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_197polar2rectangular, 0, __pyx_n_s_polar2rectangular, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__244)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1542, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_polar2rectangular, __pyx_t_41) < 0) __PYX_ERR(0, 1542, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__244 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__241, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_polar2rectangular, 1542, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__244)) __PYX_ERR(0, 1542, __pyx_L1_error)
1543: """
1544: convert real/imaginary data in rl and im from polar (spectrum) to rectangular (fft)
1545:
1546: :param rdat: magnitude data
1547: :param imaginary: phases data
1548: :return: real data written into rdat, idat contains imaginary
1549: :rtype: np.ndarray
1550:
1551: """
+1552: size = len(rdat)
__pyx_t_1 = PyObject_Length(__pyx_v_rdat); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1552, __pyx_L1_error) __pyx_v_size = __pyx_t_1;
+1553: cdef double [:] rdat_view = rdat
__pyx_t_2 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_rdat, PyBUF_WRITABLE); if (unlikely(!__pyx_t_2.memview)) __PYX_ERR(0, 1553, __pyx_L1_error) __pyx_v_rdat_view = __pyx_t_2; __pyx_t_2.memview = NULL; __pyx_t_2.data = NULL;
+1554: cdef double [:] idat_view = idat
__pyx_t_2 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_idat, PyBUF_WRITABLE); if (unlikely(!__pyx_t_2.memview)) __PYX_ERR(0, 1554, __pyx_L1_error) __pyx_v_idat_view = __pyx_t_2; __pyx_t_2.memview = NULL; __pyx_t_2.data = NULL;
+1555: compare_shapes(rdat, idat)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_compare_shapes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1555, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_rdat, __pyx_v_idat}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1555, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1556:
+1557: cclm.mus_polar_to_rectangular(&rdat_view[0], &idat_view[0], size)
__pyx_t_7 = 0;
__pyx_t_6 = -1;
if (__pyx_t_7 < 0) {
__pyx_t_7 += __pyx_v_rdat_view.shape[0];
if (unlikely(__pyx_t_7 < 0)) __pyx_t_6 = 0;
} else if (unlikely(__pyx_t_7 >= __pyx_v_rdat_view.shape[0])) __pyx_t_6 = 0;
if (unlikely(__pyx_t_6 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_6);
__PYX_ERR(0, 1557, __pyx_L1_error)
}
__pyx_t_8 = 0;
__pyx_t_6 = -1;
if (__pyx_t_8 < 0) {
__pyx_t_8 += __pyx_v_idat_view.shape[0];
if (unlikely(__pyx_t_8 < 0)) __pyx_t_6 = 0;
} else if (unlikely(__pyx_t_8 >= __pyx_v_idat_view.shape[0])) __pyx_t_6 = 0;
if (unlikely(__pyx_t_6 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_6);
__PYX_ERR(0, 1557, __pyx_L1_error)
}
mus_polar_to_rectangular((&(*((double *) ( /* dim=0 */ (__pyx_v_rdat_view.data + __pyx_t_7 * __pyx_v_rdat_view.strides[0]) )))), (&(*((double *) ( /* dim=0 */ (__pyx_v_idat_view.data + __pyx_t_8 * __pyx_v_idat_view.strides[0]) )))), __pyx_v_size);
+1558: return rdat
__Pyx_XDECREF((PyObject *)__pyx_r); if (!(likely(((__pyx_v_rdat) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_rdat, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1558, __pyx_L1_error) __Pyx_INCREF(__pyx_v_rdat); __pyx_r = ((PyArrayObject *)__pyx_v_rdat); goto __pyx_L0;
1559:
+1560: cpdef np.ndarray spectrum(rdat: npt.NDArray[np.float64], idat: npt.NDArray[np.float64], window: npt.NDArray[np.cython.double64], norm_type: spectrum):
static PyObject *__pyx_pw_8pysndlib_3clm_199spectrum(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyArrayObject *__pyx_f_8pysndlib_3clm_spectrum(PyObject *__pyx_v_rdat, PyObject *__pyx_v_idat, PyObject *__pyx_v_window, PyObject *__pyx_v_norm_type, CYTHON_UNUSED int __pyx_skip_dispatch) {
Py_ssize_t __pyx_v_size;
__Pyx_memviewslice __pyx_v_rdat_view = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_idat_view = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_window_view = { 0, 0, { 0 }, { 0 }, { 0 } };
PyArrayObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("spectrum", 0);
__Pyx_INCREF(__pyx_v_window);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_8, 1);
__Pyx_AddTraceback("pysndlib.clm.spectrum", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_rdat_view, 1);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_idat_view, 1);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_window_view, 1);
__Pyx_XDECREF(__pyx_v_window);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_199spectrum(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_198spectrum, "real and imaginary data in ndarrays rl and im, returns (in rl) the spectrum thereof; window is the fft data window (a ndarray as returned by \n make_fft_window and type determines how the spectral data is scaled:\n spectrum.in_db= data in db,\n spectrum.normalized (default) = linear and normalized\n spectrum.raw = linear and un-normalized.\n \n :param rdat: real data\n :param imaginary: imaginary data\n :param window: fft window\n :param norm_type: normalization type\n :return: spectrum\n :rtype: np.ndarray\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_199spectrum = {"spectrum", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_199spectrum, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_198spectrum};
static PyObject *__pyx_pw_8pysndlib_3clm_199spectrum(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_rdat = 0;
PyObject *__pyx_v_idat = 0;
PyObject *__pyx_v_window = 0;
PyObject *__pyx_v_norm_type = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("spectrum (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_rdat,&__pyx_n_s_idat,&__pyx_n_s_window,&__pyx_n_s_norm_type,0};
PyObject* values[4] = {0,0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_rdat)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1560, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_idat)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1560, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("spectrum", 1, 4, 4, 1); __PYX_ERR(0, 1560, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_window)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1560, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("spectrum", 1, 4, 4, 2); __PYX_ERR(0, 1560, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_norm_type)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1560, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("spectrum", 1, 4, 4, 3); __PYX_ERR(0, 1560, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "spectrum") < 0)) __PYX_ERR(0, 1560, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 4)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
}
__pyx_v_rdat = values[0];
__pyx_v_idat = values[1];
__pyx_v_window = values[2];
__pyx_v_norm_type = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("spectrum", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 1560, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.spectrum", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_198spectrum(__pyx_self, __pyx_v_rdat, __pyx_v_idat, __pyx_v_window, __pyx_v_norm_type);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_198spectrum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rdat, PyObject *__pyx_v_idat, PyObject *__pyx_v_window, PyObject *__pyx_v_norm_type) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("spectrum", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_spectrum(__pyx_v_rdat, __pyx_v_idat, __pyx_v_window, __pyx_v_norm_type, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1560, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.spectrum", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__245 = PyTuple_Pack(4, __pyx_n_s_rdat, __pyx_n_s_idat, __pyx_n_s_window, __pyx_n_s_norm_type); if (unlikely(!__pyx_tuple__245)) __PYX_ERR(0, 1560, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__245);
__Pyx_GIVEREF(__pyx_tuple__245);
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1560, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_rdat, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1560, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_idat, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1560, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_window, __pyx_kp_s_npt_NDArray_np_cython_double64) < 0) __PYX_ERR(0, 1560, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_norm_type, __pyx_n_s_spectrum) < 0) __PYX_ERR(0, 1560, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_199spectrum, 0, __pyx_n_s_spectrum, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__246)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1560, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_spectrum, __pyx_t_40) < 0) __PYX_ERR(0, 1560, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__246 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__245, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_spectrum, 1560, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__246)) __PYX_ERR(0, 1560, __pyx_L1_error)
1561: """real and imaginary data in ndarrays rl and im, returns (in rl) the spectrum thereof; window is the fft data window (a ndarray as returned by
1562: make_fft_window and type determines how the spectral data is scaled:
1563: spectrum.in_db= data in db,
1564: spectrum.normalized (default) = linear and normalized
1565: spectrum.raw = linear and un-normalized.
1566:
1567: :param rdat: real data
1568: :param imaginary: imaginary data
1569: :param window: fft window
1570: :param norm_type: normalization type
1571: :return: spectrum
1572: :rtype: np.ndarray
1573:
1574: """
+1575: if isinstance(window, list):
__pyx_t_1 = PyList_Check(__pyx_v_window);
if (__pyx_t_1) {
/* … */
}
+1576: window = np.array(window, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1576, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1576, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1576, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_window); __Pyx_GIVEREF(__pyx_v_window); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_window); __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1576, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1576, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_double); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1576, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_6) < 0) __PYX_ERR(0, 1576, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1576, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_window, __pyx_t_6); __pyx_t_6 = 0;
+1577: size = len(rdat)
__pyx_t_7 = PyObject_Length(__pyx_v_rdat); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1577, __pyx_L1_error) __pyx_v_size = __pyx_t_7;
+1578: cdef double [:] rdat_view = rdat
__pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_rdat, PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 1578, __pyx_L1_error) __pyx_v_rdat_view = __pyx_t_8; __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL;
+1579: cdef double [:] idat_view = idat
__pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_idat, PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 1579, __pyx_L1_error) __pyx_v_idat_view = __pyx_t_8; __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL;
+1580: cdef double [:] window_view = window
__pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_window, PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 1580, __pyx_L1_error) __pyx_v_window_view = __pyx_t_8; __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL;
1581:
+1582: check_ndim(rdat)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = NULL; __pyx_t_9 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_9 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_rdat}; __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1583: check_ndim(idat)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = NULL; __pyx_t_9 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_9 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_idat}; __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1584: check_ndim(window)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = NULL; __pyx_t_9 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_9 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_window}; __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1585: compare_shapes(rdat, idat)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_compare_shapes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = NULL; __pyx_t_9 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_9 = 1; } } { PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_v_rdat, __pyx_v_idat}; __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 2+__pyx_t_9); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
1586:
+1587: cclm.mus_spectrum(&rdat_view[0], &idat_view[0], &window_view[0], size, <cclm.mus_spectrum_t>norm_type)
__pyx_t_10 = 0;
__pyx_t_9 = -1;
if (__pyx_t_10 < 0) {
__pyx_t_10 += __pyx_v_rdat_view.shape[0];
if (unlikely(__pyx_t_10 < 0)) __pyx_t_9 = 0;
} else if (unlikely(__pyx_t_10 >= __pyx_v_rdat_view.shape[0])) __pyx_t_9 = 0;
if (unlikely(__pyx_t_9 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_9);
__PYX_ERR(0, 1587, __pyx_L1_error)
}
__pyx_t_11 = 0;
__pyx_t_9 = -1;
if (__pyx_t_11 < 0) {
__pyx_t_11 += __pyx_v_idat_view.shape[0];
if (unlikely(__pyx_t_11 < 0)) __pyx_t_9 = 0;
} else if (unlikely(__pyx_t_11 >= __pyx_v_idat_view.shape[0])) __pyx_t_9 = 0;
if (unlikely(__pyx_t_9 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_9);
__PYX_ERR(0, 1587, __pyx_L1_error)
}
__pyx_t_12 = 0;
__pyx_t_9 = -1;
if (__pyx_t_12 < 0) {
__pyx_t_12 += __pyx_v_window_view.shape[0];
if (unlikely(__pyx_t_12 < 0)) __pyx_t_9 = 0;
} else if (unlikely(__pyx_t_12 >= __pyx_v_window_view.shape[0])) __pyx_t_9 = 0;
if (unlikely(__pyx_t_9 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_9);
__PYX_ERR(0, 1587, __pyx_L1_error)
}
__pyx_t_13 = ((mus_spectrum_t)__Pyx_PyInt_As_mus_spectrum_t(__pyx_v_norm_type)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1587, __pyx_L1_error)
(void)(mus_spectrum((&(*((double *) ( /* dim=0 */ (__pyx_v_rdat_view.data + __pyx_t_10 * __pyx_v_rdat_view.strides[0]) )))), (&(*((double *) ( /* dim=0 */ (__pyx_v_idat_view.data + __pyx_t_11 * __pyx_v_idat_view.strides[0]) )))), (&(*((double *) ( /* dim=0 */ (__pyx_v_window_view.data + __pyx_t_12 * __pyx_v_window_view.strides[0]) )))), __pyx_v_size, ((mus_spectrum_t)__pyx_t_13)));
+1588: return rdat
__Pyx_XDECREF((PyObject *)__pyx_r); if (!(likely(((__pyx_v_rdat) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_rdat, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1588, __pyx_L1_error) __Pyx_INCREF(__pyx_v_rdat); __pyx_r = ((PyArrayObject *)__pyx_v_rdat); goto __pyx_L0;
1589:
+1590: cpdef np.ndarray convolution(rl1: npt.NDArray[np.float64], rl2: npt.NDArray[np.float64], fft_size: int):
static PyObject *__pyx_pw_8pysndlib_3clm_201convolution(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyArrayObject *__pyx_f_8pysndlib_3clm_convolution(PyObject *__pyx_v_rl1, PyObject *__pyx_v_rl2, CYTHON_UNUSED PyObject *__pyx_v_fft_size, CYTHON_UNUSED int __pyx_skip_dispatch) {
Py_ssize_t __pyx_v_size;
__Pyx_memviewslice __pyx_v_rl1_view = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_rl2_view = { 0, 0, { 0 }, { 0 }, { 0 } };
PyArrayObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("convolution", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__PYX_XCLEAR_MEMVIEW(&__pyx_t_2, 1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("pysndlib.clm.convolution", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_rl1_view, 1);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_rl2_view, 1);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_201convolution(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_200convolution, "\n convolution of ndarrays v1 with v2, using fft of size len (a power of 2), result in v1\n\n :param rl1: input data 1\n :param rl2: input data 2\n :param fft_size: fft size\n :return: convolved output. also written into rl1\n :rtype: np.ndarray\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_201convolution = {"convolution", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_201convolution, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_200convolution};
static PyObject *__pyx_pw_8pysndlib_3clm_201convolution(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_rl1 = 0;
PyObject *__pyx_v_rl2 = 0;
PyObject *__pyx_v_fft_size = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("convolution (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_rl1,&__pyx_n_s_rl2,&__pyx_n_s_fft_size,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_rl1)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1590, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_rl2)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1590, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("convolution", 1, 3, 3, 1); __PYX_ERR(0, 1590, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fft_size)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1590, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("convolution", 1, 3, 3, 2); __PYX_ERR(0, 1590, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "convolution") < 0)) __PYX_ERR(0, 1590, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_rl1 = values[0];
__pyx_v_rl2 = values[1];
__pyx_v_fft_size = ((PyObject*)values[2]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("convolution", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1590, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.convolution", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fft_size), (&PyInt_Type), 0, "fft_size", 1))) __PYX_ERR(0, 1590, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_200convolution(__pyx_self, __pyx_v_rl1, __pyx_v_rl2, __pyx_v_fft_size);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_200convolution(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rl1, PyObject *__pyx_v_rl2, PyObject *__pyx_v_fft_size) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("convolution", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_convolution(__pyx_v_rl1, __pyx_v_rl2, __pyx_v_fft_size, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1590, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.convolution", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__247 = PyTuple_Pack(3, __pyx_n_s_rl1, __pyx_n_s_rl2, __pyx_n_s_fft_size); if (unlikely(!__pyx_tuple__247)) __PYX_ERR(0, 1590, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__247);
__Pyx_GIVEREF(__pyx_tuple__247);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1590, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_rl1, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1590, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_rl2, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1590, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_fft_size, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 1590, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_201convolution, 0, __pyx_n_s_convolution, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__248)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1590, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_convolution, __pyx_t_41) < 0) __PYX_ERR(0, 1590, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__248 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__247, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_convolution, 1590, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__248)) __PYX_ERR(0, 1590, __pyx_L1_error)
1591: """
1592: convolution of ndarrays v1 with v2, using fft of size len (a power of 2), result in v1
1593:
1594: :param rl1: input data 1
1595: :param rl2: input data 2
1596: :param fft_size: fft size
1597: :return: convolved output. also written into rl1
1598: :rtype: np.ndarray
1599:
1600: """
+1601: size = len(rl1)
__pyx_t_1 = PyObject_Length(__pyx_v_rl1); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1601, __pyx_L1_error) __pyx_v_size = __pyx_t_1;
+1602: cdef double [:] rl1_view = rl1
__pyx_t_2 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_rl1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_2.memview)) __PYX_ERR(0, 1602, __pyx_L1_error) __pyx_v_rl1_view = __pyx_t_2; __pyx_t_2.memview = NULL; __pyx_t_2.data = NULL;
+1603: cdef double [:] rl2_view = rl2
__pyx_t_2 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_rl2, PyBUF_WRITABLE); if (unlikely(!__pyx_t_2.memview)) __PYX_ERR(0, 1603, __pyx_L1_error) __pyx_v_rl2_view = __pyx_t_2; __pyx_t_2.memview = NULL; __pyx_t_2.data = NULL;
+1604: check_ndim(rl1)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_rl1}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1605: check_ndim(rl2)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_rl2}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1606: compare_shapes(rl1, rl2)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_compare_shapes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_rl1, __pyx_v_rl2}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1607:
+1608: cclm.mus_convolution(&rl1_view[0], &rl2_view[0], size)
__pyx_t_7 = 0;
__pyx_t_6 = -1;
if (__pyx_t_7 < 0) {
__pyx_t_7 += __pyx_v_rl1_view.shape[0];
if (unlikely(__pyx_t_7 < 0)) __pyx_t_6 = 0;
} else if (unlikely(__pyx_t_7 >= __pyx_v_rl1_view.shape[0])) __pyx_t_6 = 0;
if (unlikely(__pyx_t_6 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_6);
__PYX_ERR(0, 1608, __pyx_L1_error)
}
__pyx_t_8 = 0;
__pyx_t_6 = -1;
if (__pyx_t_8 < 0) {
__pyx_t_8 += __pyx_v_rl2_view.shape[0];
if (unlikely(__pyx_t_8 < 0)) __pyx_t_6 = 0;
} else if (unlikely(__pyx_t_8 >= __pyx_v_rl2_view.shape[0])) __pyx_t_6 = 0;
if (unlikely(__pyx_t_6 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_6);
__PYX_ERR(0, 1608, __pyx_L1_error)
}
(void)(mus_convolution((&(*((double *) ( /* dim=0 */ (__pyx_v_rl1_view.data + __pyx_t_7 * __pyx_v_rl1_view.strides[0]) )))), (&(*((double *) ( /* dim=0 */ (__pyx_v_rl2_view.data + __pyx_t_8 * __pyx_v_rl2_view.strides[0]) )))), __pyx_v_size));
+1609: return rl1
__Pyx_XDECREF((PyObject *)__pyx_r); if (!(likely(((__pyx_v_rl1) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_rl1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1609, __pyx_L1_error) __Pyx_INCREF(__pyx_v_rl1); __pyx_r = ((PyArrayObject *)__pyx_v_rl1); goto __pyx_L0;
1610:
+1611: cpdef np.ndarray autocorrelate(data: npt.NDArray[np.float64]):
static PyObject *__pyx_pw_8pysndlib_3clm_203autocorrelate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyArrayObject *__pyx_f_8pysndlib_3clm_autocorrelate(PyObject *__pyx_v_data, CYTHON_UNUSED int __pyx_skip_dispatch) {
Py_ssize_t __pyx_v_size;
__Pyx_memviewslice __pyx_v_data_view = { 0, 0, { 0 }, { 0 }, { 0 } };
PyArrayObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("autocorrelate", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_6, 1);
__Pyx_AddTraceback("pysndlib.clm.autocorrelate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_data_view, 1);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_203autocorrelate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_202autocorrelate, "\n in place autocorrelation of data (a ndarray)\n\n :param data: data\n :return: autocorrelation result\n :rtype: np.ndarray\n\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_203autocorrelate = {"autocorrelate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_203autocorrelate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_202autocorrelate};
static PyObject *__pyx_pw_8pysndlib_3clm_203autocorrelate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_data = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("autocorrelate (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_data,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_data)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1611, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "autocorrelate") < 0)) __PYX_ERR(0, 1611, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_data = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("autocorrelate", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1611, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.autocorrelate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_202autocorrelate(__pyx_self, __pyx_v_data);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_202autocorrelate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_data) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("autocorrelate", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_autocorrelate(__pyx_v_data, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1611, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.autocorrelate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__249 = PyTuple_Pack(1, __pyx_n_s_data); if (unlikely(!__pyx_tuple__249)) __PYX_ERR(0, 1611, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__249);
__Pyx_GIVEREF(__pyx_tuple__249);
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1611, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_data, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1611, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_203autocorrelate, 0, __pyx_n_s_autocorrelate, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__250)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1611, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_autocorrelate, __pyx_t_40) < 0) __PYX_ERR(0, 1611, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__250 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__249, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_autocorrelate, 1611, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__250)) __PYX_ERR(0, 1611, __pyx_L1_error)
1612: """
1613: in place autocorrelation of data (a ndarray)
1614:
1615: :param data: data
1616: :return: autocorrelation result
1617: :rtype: np.ndarray
1618:
1619: """
+1620: size = len(data)
__pyx_t_1 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1620, __pyx_L1_error) __pyx_v_size = __pyx_t_1;
+1621: check_ndim(data)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_data}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1622:
+1623: cdef double [:] data_view = data
__pyx_t_6 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_data, PyBUF_WRITABLE); if (unlikely(!__pyx_t_6.memview)) __PYX_ERR(0, 1623, __pyx_L1_error) __pyx_v_data_view = __pyx_t_6; __pyx_t_6.memview = NULL; __pyx_t_6.data = NULL;
+1624: cclm.mus_autocorrelate(&data_view[0], size)
__pyx_t_7 = 0;
__pyx_t_5 = -1;
if (__pyx_t_7 < 0) {
__pyx_t_7 += __pyx_v_data_view.shape[0];
if (unlikely(__pyx_t_7 < 0)) __pyx_t_5 = 0;
} else if (unlikely(__pyx_t_7 >= __pyx_v_data_view.shape[0])) __pyx_t_5 = 0;
if (unlikely(__pyx_t_5 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_5);
__PYX_ERR(0, 1624, __pyx_L1_error)
}
(void)(mus_autocorrelate((&(*((double *) ( /* dim=0 */ (__pyx_v_data_view.data + __pyx_t_7 * __pyx_v_data_view.strides[0]) )))), __pyx_v_size));
+1625: return data
__Pyx_XDECREF((PyObject *)__pyx_r); if (!(likely(((__pyx_v_data) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_data, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1625, __pyx_L1_error) __Pyx_INCREF(__pyx_v_data); __pyx_r = ((PyArrayObject *)__pyx_v_data); goto __pyx_L0;
1626:
+1627: cpdef np.ndarray correlate(data1: npt.NDArray[np.float64], data2: npt.NDArray[np.float64]):
static PyObject *__pyx_pw_8pysndlib_3clm_205correlate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyArrayObject *__pyx_f_8pysndlib_3clm_correlate(PyObject *__pyx_v_data1, PyObject *__pyx_v_data2, CYTHON_UNUSED int __pyx_skip_dispatch) {
Py_ssize_t __pyx_v_size;
__Pyx_memviewslice __pyx_v_data1_view = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_data2_view = { 0, 0, { 0 }, { 0 }, { 0 } };
PyArrayObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("correlate", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_6, 1);
__Pyx_AddTraceback("pysndlib.clm.correlate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_data1_view, 1);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_data2_view, 1);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_205correlate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_204correlate, "\n in place cross-correlation of data1 and data2 (both ndarrays)\n \n :param data1: data 1\n :param data2: data 2\n :return: correlation result written into data1\n :rtype: np.ndarray\n \n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_205correlate = {"correlate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_205correlate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_204correlate};
static PyObject *__pyx_pw_8pysndlib_3clm_205correlate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_data1 = 0;
PyObject *__pyx_v_data2 = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("correlate (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_data1,&__pyx_n_s_data2,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_data1)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1627, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_data2)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1627, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("correlate", 1, 2, 2, 1); __PYX_ERR(0, 1627, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "correlate") < 0)) __PYX_ERR(0, 1627, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_data1 = values[0];
__pyx_v_data2 = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("correlate", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1627, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.correlate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_204correlate(__pyx_self, __pyx_v_data1, __pyx_v_data2);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_204correlate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_data1, PyObject *__pyx_v_data2) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("correlate", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_correlate(__pyx_v_data1, __pyx_v_data2, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1627, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.correlate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1627, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_data1, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1627, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_data2, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1627, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_205correlate, 0, __pyx_n_s_correlate, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__251)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1627, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_correlate, __pyx_t_41) < 0) __PYX_ERR(0, 1627, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__251 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__226, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_correlate, 1627, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__251)) __PYX_ERR(0, 1627, __pyx_L1_error)
1628: """
1629: in place cross-correlation of data1 and data2 (both ndarrays)
1630:
1631: :param data1: data 1
1632: :param data2: data 2
1633: :return: correlation result written into data1
1634: :rtype: np.ndarray
1635:
1636:
1637: """
1638:
+1639: size = len(data1)
__pyx_t_1 = PyObject_Length(__pyx_v_data1); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1639, __pyx_L1_error) __pyx_v_size = __pyx_t_1;
+1640: check_ndim(data1)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1640, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_data1}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1640, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1641: check_ndim(data2)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_data2}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1642: compare_shapes(data1, data2)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_compare_shapes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1642, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_v_data1, __pyx_v_data2}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1642, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1643: cdef double [:] data1_view = data1
__pyx_t_6 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_data1, PyBUF_WRITABLE); if (unlikely(!__pyx_t_6.memview)) __PYX_ERR(0, 1643, __pyx_L1_error) __pyx_v_data1_view = __pyx_t_6; __pyx_t_6.memview = NULL; __pyx_t_6.data = NULL;
+1644: cdef double [:] data2_view = data2
__pyx_t_6 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_data2, PyBUF_WRITABLE); if (unlikely(!__pyx_t_6.memview)) __PYX_ERR(0, 1644, __pyx_L1_error) __pyx_v_data2_view = __pyx_t_6; __pyx_t_6.memview = NULL; __pyx_t_6.data = NULL;
1645:
+1646: cclm.mus_correlate(&data1_view[0], &data2_view[0], size)
__pyx_t_7 = 0;
__pyx_t_5 = -1;
if (__pyx_t_7 < 0) {
__pyx_t_7 += __pyx_v_data1_view.shape[0];
if (unlikely(__pyx_t_7 < 0)) __pyx_t_5 = 0;
} else if (unlikely(__pyx_t_7 >= __pyx_v_data1_view.shape[0])) __pyx_t_5 = 0;
if (unlikely(__pyx_t_5 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_5);
__PYX_ERR(0, 1646, __pyx_L1_error)
}
__pyx_t_8 = 0;
__pyx_t_5 = -1;
if (__pyx_t_8 < 0) {
__pyx_t_8 += __pyx_v_data2_view.shape[0];
if (unlikely(__pyx_t_8 < 0)) __pyx_t_5 = 0;
} else if (unlikely(__pyx_t_8 >= __pyx_v_data2_view.shape[0])) __pyx_t_5 = 0;
if (unlikely(__pyx_t_5 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_5);
__PYX_ERR(0, 1646, __pyx_L1_error)
}
(void)(mus_correlate((&(*((double *) ( /* dim=0 */ (__pyx_v_data1_view.data + __pyx_t_7 * __pyx_v_data1_view.strides[0]) )))), (&(*((double *) ( /* dim=0 */ (__pyx_v_data2_view.data + __pyx_t_8 * __pyx_v_data2_view.strides[0]) )))), __pyx_v_size));
+1647: return data1
__Pyx_XDECREF((PyObject *)__pyx_r); if (!(likely(((__pyx_v_data1) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_data1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1647, __pyx_L1_error) __Pyx_INCREF(__pyx_v_data1); __pyx_r = ((PyArrayObject *)__pyx_v_data1); goto __pyx_L0;
1648:
+1649: cpdef np.ndarray cepstrum(data: npt.NDArray[np.float64]):
static PyObject *__pyx_pw_8pysndlib_3clm_207cepstrum(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyArrayObject *__pyx_f_8pysndlib_3clm_cepstrum(PyObject *__pyx_v_data, CYTHON_UNUSED int __pyx_skip_dispatch) {
Py_ssize_t __pyx_v_size;
__Pyx_memviewslice __pyx_v_data_view = { 0, 0, { 0 }, { 0 }, { 0 } };
PyArrayObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("cepstrum", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_6, 1);
__Pyx_AddTraceback("pysndlib.clm.cepstrum", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_data_view, 1);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_207cepstrum(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_206cepstrum, "\n return cepstrum of signal\n \n :param data: samples to analyze\n :return: cepstrum. also written into data\n :rtype: np.ndarray\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_207cepstrum = {"cepstrum", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_207cepstrum, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_206cepstrum};
static PyObject *__pyx_pw_8pysndlib_3clm_207cepstrum(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_data = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("cepstrum (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_data,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_data)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1649, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cepstrum") < 0)) __PYX_ERR(0, 1649, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_data = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("cepstrum", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1649, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.cepstrum", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_206cepstrum(__pyx_self, __pyx_v_data);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_206cepstrum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_data) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("cepstrum", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_cepstrum(__pyx_v_data, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1649, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.cepstrum", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1649, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_data, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1649, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_207cepstrum, 0, __pyx_n_s_cepstrum, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__252)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1649, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_cepstrum, __pyx_t_40) < 0) __PYX_ERR(0, 1649, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__252 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__249, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_cepstrum, 1649, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__252)) __PYX_ERR(0, 1649, __pyx_L1_error)
1650: """
1651: return cepstrum of signal
1652:
1653: :param data: samples to analyze
1654: :return: cepstrum. also written into data
1655: :rtype: np.ndarray
1656: """
+1657: size = len(data)
__pyx_t_1 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1657, __pyx_L1_error) __pyx_v_size = __pyx_t_1;
+1658: check_ndim(data)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1658, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_data}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1658, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1659: cdef double [:] data_view = data
__pyx_t_6 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_data, PyBUF_WRITABLE); if (unlikely(!__pyx_t_6.memview)) __PYX_ERR(0, 1659, __pyx_L1_error) __pyx_v_data_view = __pyx_t_6; __pyx_t_6.memview = NULL; __pyx_t_6.data = NULL;
+1660: cclm.mus_cepstrum(&data_view[0], size)
__pyx_t_7 = 0;
__pyx_t_5 = -1;
if (__pyx_t_7 < 0) {
__pyx_t_7 += __pyx_v_data_view.shape[0];
if (unlikely(__pyx_t_7 < 0)) __pyx_t_5 = 0;
} else if (unlikely(__pyx_t_7 >= __pyx_v_data_view.shape[0])) __pyx_t_5 = 0;
if (unlikely(__pyx_t_5 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_5);
__PYX_ERR(0, 1660, __pyx_L1_error)
}
(void)(mus_cepstrum((&(*((double *) ( /* dim=0 */ (__pyx_v_data_view.data + __pyx_t_7 * __pyx_v_data_view.strides[0]) )))), __pyx_v_size));
+1661: return data
__Pyx_XDECREF((PyObject *)__pyx_r); if (!(likely(((__pyx_v_data) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_data, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1661, __pyx_L1_error) __Pyx_INCREF(__pyx_v_data); __pyx_r = ((PyArrayObject *)__pyx_v_data); goto __pyx_L0;
1662:
+1663: cpdef np.ndarray partials2wave(partials, wave: npt.NDArray[np.float64]=None, table_size: Optional[int]=None, norm: Optional[bool]=True ):
static PyObject *__pyx_pw_8pysndlib_3clm_209partials2wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyArrayObject *__pyx_f_8pysndlib_3clm_partials2wave(PyObject *__pyx_v_partials, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_partials2wave *__pyx_optional_args) {
PyObject *__pyx_v_wave = ((PyObject *)Py_None);
PyObject *__pyx_v_table_size = ((PyObject *)Py_None);
PyObject *__pyx_v_norm = ((PyObject *)Py_True);
__Pyx_memviewslice __pyx_v_wave_view = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_partials_view = { 0, 0, { 0 }, { 0 }, { 0 } };
PyArrayObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("partials2wave", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_wave = __pyx_optional_args->wave;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_table_size = __pyx_optional_args->table_size;
if (__pyx_optional_args->__pyx_n > 2) {
__pyx_v_norm = __pyx_optional_args->norm;
}
}
}
}
__Pyx_INCREF(__pyx_v_partials);
__Pyx_INCREF(__pyx_v_wave);
__Pyx_INCREF(__pyx_v_table_size);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_10, 1);
__Pyx_AddTraceback("pysndlib.clm.partials2wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_wave_view, 1);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_partials_view, 1);
__Pyx_XDECREF(__pyx_v_partials);
__Pyx_XDECREF(__pyx_v_wave);
__Pyx_XDECREF(__pyx_v_table_size);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_209partials2wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_208partials2wave, "\n take a list or np.ndarray of partials (harmonic number and associated amplitude) and produce a waveform for use in table_lookup\n \n :param partials: list or np.ndarray of partials (harm and amp)\n :param wave: array to write wave into. if not provided, one will be allocated\n :param table_size: size of table\n :param norm: whether to normalize partials\n :return: array provided in wave or new array.\n :rtype: np.ndarray\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_209partials2wave = {"partials2wave", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_209partials2wave, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_208partials2wave};
static PyObject *__pyx_pw_8pysndlib_3clm_209partials2wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_partials = 0;
PyObject *__pyx_v_wave = 0;
PyObject *__pyx_v_table_size = 0;
PyObject *__pyx_v_norm = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("partials2wave (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_partials,&__pyx_n_s_wave,&__pyx_n_s_table_size,&__pyx_n_s_norm,0};
PyObject* values[4] = {0,0,0,0};
values[1] = ((PyObject *)Py_None);
values[2] = ((PyObject *)Py_None);
values[3] = ((PyObject *)Py_True);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_partials)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1663, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_wave);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1663, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_table_size);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1663, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_norm);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1663, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "partials2wave") < 0)) __PYX_ERR(0, 1663, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_partials = values[0];
__pyx_v_wave = values[1];
__pyx_v_table_size = values[2];
__pyx_v_norm = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("partials2wave", 0, 1, 4, __pyx_nargs); __PYX_ERR(0, 1663, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.partials2wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_208partials2wave(__pyx_self, __pyx_v_partials, __pyx_v_wave, __pyx_v_table_size, __pyx_v_norm);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_208partials2wave(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_partials, PyObject *__pyx_v_wave, PyObject *__pyx_v_table_size, PyObject *__pyx_v_norm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("partials2wave", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 3;
__pyx_t_2.wave = __pyx_v_wave;
__pyx_t_2.table_size = __pyx_v_table_size;
__pyx_t_2.norm = __pyx_v_norm;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_partials2wave(__pyx_v_partials, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1663, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.partials2wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__253 = PyTuple_Pack(4, __pyx_n_s_partials, __pyx_n_s_wave, __pyx_n_s_table_size, __pyx_n_s_norm); if (unlikely(!__pyx_tuple__253)) __PYX_ERR(0, 1663, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__253);
__Pyx_GIVEREF(__pyx_tuple__253);
__pyx_codeobj__254 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__253, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_partials2wave, 1663, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__254)) __PYX_ERR(0, 1663, __pyx_L1_error)
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1663, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_wave, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1663, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_table_size, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 1663, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_norm, __pyx_kp_s_Optional_bool) < 0) __PYX_ERR(0, 1663, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_209partials2wave, 0, __pyx_n_s_partials2wave, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__254)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1663, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_tuple__255);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_partials2wave, __pyx_t_41) < 0) __PYX_ERR(0, 1663, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_tuple__255 = PyTuple_Pack(3, Py_None, Py_None, Py_True); if (unlikely(!__pyx_tuple__255)) __PYX_ERR(0, 1663, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__255);
__Pyx_GIVEREF(__pyx_tuple__255);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_partials2wave {
int __pyx_n;
PyObject *wave;
PyObject *table_size;
PyObject *norm;
};
1664: """
1665: take a list or np.ndarray of partials (harmonic number and associated amplitude) and produce a waveform for use in table_lookup
1666:
1667: :param partials: list or np.ndarray of partials (harm and amp)
1668: :param wave: array to write wave into. if not provided, one will be allocated
1669: :param table_size: size of table
1670: :param norm: whether to normalize partials
1671: :return: array provided in wave or new array.
1672: :rtype: np.ndarray
1673:
1674: """
1675:
+1676: if isinstance(partials, list):
__pyx_t_1 = PyList_Check(__pyx_v_partials);
if (__pyx_t_1) {
/* … */
}
+1677: partials = np.array(partials, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_partials); __Pyx_GIVEREF(__pyx_v_partials); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_partials); __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_double); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_6) < 0) __PYX_ERR(0, 1677, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_partials, __pyx_t_6); __pyx_t_6 = 0;
1678:
+1679: if isinstance(wave, list):
__pyx_t_1 = PyList_Check(__pyx_v_wave);
if (__pyx_t_1) {
/* … */
}
+1680: wave = np.array(wave, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1680, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1680, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1680, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_wave); __Pyx_GIVEREF(__pyx_v_wave); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_wave); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1680, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1680, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_double); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1680, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1680, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1680, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_wave, __pyx_t_5); __pyx_t_5 = 0;
1681:
+1682: if not wave:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_wave); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1682, __pyx_L1_error) __pyx_t_7 = (!__pyx_t_1); if (__pyx_t_7) { /* … */ goto __pyx_L5; }
+1683: if table_size:
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_table_size); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1683, __pyx_L1_error) if (__pyx_t_7) { /* … */ goto __pyx_L6; }
+1684: wave = np.zeros(table_size)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_8 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_table_size}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF_SET(__pyx_v_wave, __pyx_t_5); __pyx_t_5 = 0;
1685: else:
+1686: wave = np.zeros(CLM.table_size)
/*else*/ {
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1686, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1686, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_CLM); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1686, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_table_size); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1686, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = NULL;
__pyx_t_8 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
__pyx_t_8 = 1;
}
}
{
PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_4};
__pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1686, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__Pyx_DECREF_SET(__pyx_v_wave, __pyx_t_5);
__pyx_t_5 = 0;
}
__pyx_L6:;
1687: else:
+1688: table_size = len(wave)
/*else*/ {
__pyx_t_9 = PyObject_Length(__pyx_v_wave); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1688, __pyx_L1_error)
__pyx_t_5 = PyInt_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1688, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF_SET(__pyx_v_table_size, __pyx_t_5);
__pyx_t_5 = 0;
}
__pyx_L5:;
1689:
+1690: check_ndim(partials)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1690, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_8 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_partials}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1690, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1691: check_ndim(wave)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_8 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_wave}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1692:
+1693: cdef double [:] wave_view = wave
__pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_wave, PyBUF_WRITABLE); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(0, 1693, __pyx_L1_error) __pyx_v_wave_view = __pyx_t_10; __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL;
+1694: cdef double [:] partials_view = partials
__pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_partials, PyBUF_WRITABLE); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(0, 1694, __pyx_L1_error) __pyx_v_partials_view = __pyx_t_10; __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL;
1695:
+1696: cclm.mus_partials_to_wave(&partials_view[0], len(partials) // 2, &wave_view[0], table_size, norm)
__pyx_t_11 = 0;
__pyx_t_8 = -1;
if (__pyx_t_11 < 0) {
__pyx_t_11 += __pyx_v_partials_view.shape[0];
if (unlikely(__pyx_t_11 < 0)) __pyx_t_8 = 0;
} else if (unlikely(__pyx_t_11 >= __pyx_v_partials_view.shape[0])) __pyx_t_8 = 0;
if (unlikely(__pyx_t_8 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_8);
__PYX_ERR(0, 1696, __pyx_L1_error)
}
__pyx_t_9 = PyObject_Length(__pyx_v_partials); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1696, __pyx_L1_error)
__pyx_t_12 = 0;
__pyx_t_8 = -1;
if (__pyx_t_12 < 0) {
__pyx_t_12 += __pyx_v_wave_view.shape[0];
if (unlikely(__pyx_t_12 < 0)) __pyx_t_8 = 0;
} else if (unlikely(__pyx_t_12 >= __pyx_v_wave_view.shape[0])) __pyx_t_8 = 0;
if (unlikely(__pyx_t_8 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_8);
__PYX_ERR(0, 1696, __pyx_L1_error)
}
__pyx_t_13 = __Pyx_PyInt_As_mus_long_t(__pyx_v_table_size); if (unlikely((__pyx_t_13 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1696, __pyx_L1_error)
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_norm); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1696, __pyx_L1_error)
(void)(mus_partials_to_wave((&(*((double *) ( /* dim=0 */ (__pyx_v_partials_view.data + __pyx_t_11 * __pyx_v_partials_view.strides[0]) )))), __Pyx_div_Py_ssize_t(__pyx_t_9, 2), (&(*((double *) ( /* dim=0 */ (__pyx_v_wave_view.data + __pyx_t_12 * __pyx_v_wave_view.strides[0]) )))), __pyx_t_13, __pyx_t_7));
+1697: return wave
__Pyx_XDECREF((PyObject *)__pyx_r); if (!(likely(((__pyx_v_wave) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_wave, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1697, __pyx_L1_error) __Pyx_INCREF(__pyx_v_wave); __pyx_r = ((PyArrayObject *)__pyx_v_wave); goto __pyx_L0;
1698:
+1699: cpdef np.ndarray phase_partials2wave(partials, wave: npt.NDArray[np.float64], table_size: Optional[int]=None, norm: Optional[bool]=True ):
static PyObject *__pyx_pw_8pysndlib_3clm_211phase_partials2wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyArrayObject *__pyx_f_8pysndlib_3clm_phase_partials2wave(PyObject *__pyx_v_partials, PyObject *__pyx_v_wave, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_phase_partials2wave *__pyx_optional_args) {
PyObject *__pyx_v_table_size = ((PyObject *)Py_None);
PyObject *__pyx_v_norm = ((PyObject *)Py_True);
__Pyx_memviewslice __pyx_v_wave_view = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_partials_view = { 0, 0, { 0 }, { 0 }, { 0 } };
PyArrayObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("phase_partials2wave", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_table_size = __pyx_optional_args->table_size;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_norm = __pyx_optional_args->norm;
}
}
}
__Pyx_INCREF(__pyx_v_partials);
__Pyx_INCREF(__pyx_v_wave);
__Pyx_INCREF(__pyx_v_table_size);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_10, 1);
__Pyx_AddTraceback("pysndlib.clm.phase_partials2wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_wave_view, 1);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_partials_view, 1);
__Pyx_XDECREF(__pyx_v_partials);
__Pyx_XDECREF(__pyx_v_wave);
__Pyx_XDECREF(__pyx_v_table_size);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_211phase_partials2wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_210phase_partials2wave, "\n take a list of partials (harmonic number, amplitude, initial phase) and produce a waveform for use in table_lookup\n \n :param partials: list or np.ndarray of partials (harm, amp, phase)\n :param wave: array to write wave into. if not provided, one will be allocated\n :param table_size: size of table\n :param norm: whether to normalize partials\n :return: array provided in wave or new array.\n :rtype: np.ndarray\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_211phase_partials2wave = {"phase_partials2wave", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_211phase_partials2wave, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_210phase_partials2wave};
static PyObject *__pyx_pw_8pysndlib_3clm_211phase_partials2wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_partials = 0;
PyObject *__pyx_v_wave = 0;
PyObject *__pyx_v_table_size = 0;
PyObject *__pyx_v_norm = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("phase_partials2wave (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_partials,&__pyx_n_s_wave,&__pyx_n_s_table_size,&__pyx_n_s_norm,0};
PyObject* values[4] = {0,0,0,0};
values[2] = ((PyObject *)Py_None);
values[3] = ((PyObject *)Py_True);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_partials)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1699, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_wave)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1699, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("phase_partials2wave", 0, 2, 4, 1); __PYX_ERR(0, 1699, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_table_size);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1699, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_norm);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1699, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "phase_partials2wave") < 0)) __PYX_ERR(0, 1699, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_partials = values[0];
__pyx_v_wave = values[1];
__pyx_v_table_size = values[2];
__pyx_v_norm = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("phase_partials2wave", 0, 2, 4, __pyx_nargs); __PYX_ERR(0, 1699, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.phase_partials2wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_210phase_partials2wave(__pyx_self, __pyx_v_partials, __pyx_v_wave, __pyx_v_table_size, __pyx_v_norm);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_210phase_partials2wave(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_partials, PyObject *__pyx_v_wave, PyObject *__pyx_v_table_size, PyObject *__pyx_v_norm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("phase_partials2wave", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 2;
__pyx_t_2.table_size = __pyx_v_table_size;
__pyx_t_2.norm = __pyx_v_norm;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_phase_partials2wave(__pyx_v_partials, __pyx_v_wave, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1699, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.phase_partials2wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_codeobj__256 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__253, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_phase_partials2wave, 1699, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__256)) __PYX_ERR(0, 1699, __pyx_L1_error)
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1699, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_wave, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1699, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_table_size, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 1699, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_norm, __pyx_kp_s_Optional_bool) < 0) __PYX_ERR(0, 1699, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_211phase_partials2wave, 0, __pyx_n_s_phase_partials2wave, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__256)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1699, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_tuple__257);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_phase_partials2wave, __pyx_t_40) < 0) __PYX_ERR(0, 1699, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_tuple__257 = PyTuple_Pack(2, Py_None, Py_True); if (unlikely(!__pyx_tuple__257)) __PYX_ERR(0, 1699, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__257);
__Pyx_GIVEREF(__pyx_tuple__257);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_phase_partials2wave {
int __pyx_n;
PyObject *table_size;
PyObject *norm;
};
1700: """
1701: take a list of partials (harmonic number, amplitude, initial phase) and produce a waveform for use in table_lookup
1702:
1703: :param partials: list or np.ndarray of partials (harm, amp, phase)
1704: :param wave: array to write wave into. if not provided, one will be allocated
1705: :param table_size: size of table
1706: :param norm: whether to normalize partials
1707: :return: array provided in wave or new array.
1708: :rtype: np.ndarray
1709:
1710: """
1711:
+1712: if isinstance(partials, list):
__pyx_t_1 = PyList_Check(__pyx_v_partials);
if (__pyx_t_1) {
/* … */
}
+1713: partials = np.array(partials, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_partials); __Pyx_GIVEREF(__pyx_v_partials); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_partials); __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_double); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_6) < 0) __PYX_ERR(0, 1713, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_partials, __pyx_t_6); __pyx_t_6 = 0;
1714:
+1715: if (not wave):
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_wave); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1715, __pyx_L1_error) __pyx_t_7 = (!__pyx_t_1); if (__pyx_t_7) { /* … */ goto __pyx_L4; }
+1716: if table_size:
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_table_size); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 1716, __pyx_L1_error) if (__pyx_t_7) { /* … */ goto __pyx_L5; }
+1717: wave = np.zeros(table_size)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1717, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1717, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_8 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_table_size}; __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1717, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF_SET(__pyx_v_wave, __pyx_t_6); __pyx_t_6 = 0;
1718: else:
+1719: wave = np.zeros(CLM.table_size)
/*else*/ {
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1719, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1719, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CLM); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1719, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_table_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1719, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
__pyx_t_8 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
__pyx_t_8 = 1;
}
}
{
PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
__pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1719, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
__Pyx_DECREF_SET(__pyx_v_wave, __pyx_t_6);
__pyx_t_6 = 0;
}
__pyx_L5:;
1720: else:
+1721: table_size = len(wave)
/*else*/ {
__pyx_t_9 = PyObject_Length(__pyx_v_wave); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1721, __pyx_L1_error)
__pyx_t_6 = PyInt_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1721, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF_SET(__pyx_v_table_size, __pyx_t_6);
__pyx_t_6 = 0;
}
__pyx_L4:;
1722:
+1723: check_ndim(wave)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_8 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_wave}; __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1724: check_ndim(partials)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1724, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_8 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_partials}; __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1724, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
1725:
+1726: cdef double [:] wave_view = wave
__pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_wave, PyBUF_WRITABLE); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(0, 1726, __pyx_L1_error) __pyx_v_wave_view = __pyx_t_10; __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL;
+1727: cdef double [:] partials_view = partials
__pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_partials, PyBUF_WRITABLE); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(0, 1727, __pyx_L1_error) __pyx_v_partials_view = __pyx_t_10; __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL;
1728:
+1729: cclm.mus_partials_to_wave(&partials_view[0], len(partials) // 3, &wave_view[0], table_size, norm)
__pyx_t_11 = 0;
__pyx_t_8 = -1;
if (__pyx_t_11 < 0) {
__pyx_t_11 += __pyx_v_partials_view.shape[0];
if (unlikely(__pyx_t_11 < 0)) __pyx_t_8 = 0;
} else if (unlikely(__pyx_t_11 >= __pyx_v_partials_view.shape[0])) __pyx_t_8 = 0;
if (unlikely(__pyx_t_8 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_8);
__PYX_ERR(0, 1729, __pyx_L1_error)
}
__pyx_t_9 = PyObject_Length(__pyx_v_partials); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1729, __pyx_L1_error)
__pyx_t_12 = 0;
__pyx_t_8 = -1;
if (__pyx_t_12 < 0) {
__pyx_t_12 += __pyx_v_wave_view.shape[0];
if (unlikely(__pyx_t_12 < 0)) __pyx_t_8 = 0;
} else if (unlikely(__pyx_t_12 >= __pyx_v_wave_view.shape[0])) __pyx_t_8 = 0;
if (unlikely(__pyx_t_8 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_8);
__PYX_ERR(0, 1729, __pyx_L1_error)
}
__pyx_t_13 = __Pyx_PyInt_As_mus_long_t(__pyx_v_table_size); if (unlikely((__pyx_t_13 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1729, __pyx_L1_error)
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_norm); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1729, __pyx_L1_error)
(void)(mus_partials_to_wave((&(*((double *) ( /* dim=0 */ (__pyx_v_partials_view.data + __pyx_t_11 * __pyx_v_partials_view.strides[0]) )))), __Pyx_div_Py_ssize_t(__pyx_t_9, 3), (&(*((double *) ( /* dim=0 */ (__pyx_v_wave_view.data + __pyx_t_12 * __pyx_v_wave_view.strides[0]) )))), __pyx_t_13, __pyx_t_7));
+1730: return wave
__Pyx_XDECREF((PyObject *)__pyx_r); if (!(likely(((__pyx_v_wave) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_wave, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1730, __pyx_L1_error) __Pyx_INCREF(__pyx_v_wave); __pyx_r = ((PyArrayObject *)__pyx_v_wave); goto __pyx_L0;
1731:
+1732: cpdef np.ndarray partials2polynomial(partials, kind: Optional[polynomial]=polynomial.first_kind):
static PyObject *__pyx_pw_8pysndlib_3clm_213partials2polynomial(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyArrayObject *__pyx_f_8pysndlib_3clm_partials2polynomial(PyObject *__pyx_v_partials, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_partials2polynomial *__pyx_optional_args) {
PyObject *__pyx_v_kind = __pyx_k__19;
PyArrayObject *__pyx_v_p = NULL;
__Pyx_memviewslice __pyx_v_p_view = { 0, 0, { 0 }, { 0 }, { 0 } };
PyArrayObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("partials2polynomial", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_kind = __pyx_optional_args->kind;
}
}
__Pyx_INCREF(__pyx_v_partials);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_8, 1);
__Pyx_AddTraceback("pysndlib.clm.partials2polynomial", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF((PyObject *)__pyx_v_p);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_p_view, 1);
__Pyx_XDECREF(__pyx_v_partials);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_213partials2polynomial(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_212partials2polynomial, "\n returns a chebyshev polynomial suitable for use with the polynomial generator to create (via waveshaping) the harmonic spectrum described by the partials argument.\n \n :param partials: list or np.ndarray of partials (harm and amp)\n :param kind: polynomial.either_kind, polynomial.first_kind, polynomial.second_kind, polynomial.both_kinds\n :return: chebyshev polynomial\n :rtype: np.ndarray\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_213partials2polynomial = {"partials2polynomial", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_213partials2polynomial, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_212partials2polynomial};
static PyObject *__pyx_pw_8pysndlib_3clm_213partials2polynomial(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_partials = 0;
PyObject *__pyx_v_kind = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("partials2polynomial (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_partials,&__pyx_n_s_kind,0};
PyObject* values[2] = {0,0};
values[1] = __pyx_k__19;
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_partials)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1732, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_kind);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1732, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "partials2polynomial") < 0)) __PYX_ERR(0, 1732, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_partials = values[0];
__pyx_v_kind = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("partials2polynomial", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 1732, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.partials2polynomial", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_212partials2polynomial(__pyx_self, __pyx_v_partials, __pyx_v_kind);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_212partials2polynomial(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_partials, PyObject *__pyx_v_kind) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("partials2polynomial", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.kind = __pyx_v_kind;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_partials2polynomial(__pyx_v_partials, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1732, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.partials2polynomial", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_polynomial); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1732, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_first_kind); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1732, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_k__19 = __pyx_t_41;
__Pyx_GIVEREF(__pyx_t_41);
__pyx_t_41 = 0;
/* … */
__pyx_tuple__258 = PyTuple_Pack(2, __pyx_n_s_partials, __pyx_n_s_kind); if (unlikely(!__pyx_tuple__258)) __PYX_ERR(0, 1732, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__258);
__Pyx_GIVEREF(__pyx_tuple__258);
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_polynomial); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1732, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_first_kind); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1732, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = PyTuple_New(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 1732, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_GIVEREF(__pyx_t_40);
PyTuple_SET_ITEM(__pyx_t_41, 0, __pyx_t_40);
__pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1732, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_kind, __pyx_kp_s_Optional_polynomial) < 0) __PYX_ERR(0, 1732, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_213partials2polynomial, 0, __pyx_n_s_partials2polynomial, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__259)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1732, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_partials2polynomial, __pyx_t_37) < 0) __PYX_ERR(0, 1732, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__259 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__258, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_partials2polynomial, 1732, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__259)) __PYX_ERR(0, 1732, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_partials2polynomial {
int __pyx_n;
PyObject *kind;
};
1733: """
1734: returns a chebyshev polynomial suitable for use with the polynomial generator to create (via waveshaping) the harmonic spectrum described by the partials argument.
1735:
1736: :param partials: list or np.ndarray of partials (harm and amp)
1737: :param kind: polynomial.either_kind, polynomial.first_kind, polynomial.second_kind, polynomial.both_kinds
1738: :return: chebyshev polynomial
1739: :rtype: np.ndarray
1740:
1741: """
+1742: if isinstance(partials, list):
__pyx_t_1 = PyList_Check(__pyx_v_partials);
if (__pyx_t_1) {
/* … */
}
+1743: partials = np.array(partials, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_partials); __Pyx_GIVEREF(__pyx_v_partials); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_partials); __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_double); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_6) < 0) __PYX_ERR(0, 1743, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_partials, __pyx_t_6); __pyx_t_6 = 0;
1744:
+1745: check_ndim(partials)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_partials}; __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
1746:
+1747: p = to_partials(partials)
__pyx_t_6 = ((PyObject *)__pyx_f_8pysndlib_3clm_to_partials(__pyx_v_partials, 0)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_v_p = ((PyArrayObject *)__pyx_t_6); __pyx_t_6 = 0;
1748:
+1749: cdef double [:] p_view = p
__pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(((PyObject *)__pyx_v_p), PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 1749, __pyx_L1_error) __pyx_v_p_view = __pyx_t_8; __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL;
1750:
+1751: cclm.mus_partials_to_polynomial(len(p), &p_view[0], kind)
__pyx_t_9 = PyObject_Length(((PyObject *)__pyx_v_p)); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1751, __pyx_L1_error) __pyx_t_10 = 0; __pyx_t_7 = -1; if (__pyx_t_10 < 0) { __pyx_t_10 += __pyx_v_p_view.shape[0]; if (unlikely(__pyx_t_10 < 0)) __pyx_t_7 = 0; } else if (unlikely(__pyx_t_10 >= __pyx_v_p_view.shape[0])) __pyx_t_7 = 0; if (unlikely(__pyx_t_7 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_7); __PYX_ERR(0, 1751, __pyx_L1_error) } __pyx_t_11 = ((mus_polynomial_t)__Pyx_PyInt_As_mus_polynomial_t(__pyx_v_kind)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1751, __pyx_L1_error) (void)(mus_partials_to_polynomial(__pyx_t_9, (&(*((double *) ( /* dim=0 */ (__pyx_v_p_view.data + __pyx_t_10 * __pyx_v_p_view.strides[0]) )))), __pyx_t_11));
+1752: return p
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_p); __pyx_r = __pyx_v_p; goto __pyx_L0;
1753:
+1754: cpdef np.ndarray normalize_partials(partials):
static PyObject *__pyx_pw_8pysndlib_3clm_215normalize_partials(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyArrayObject *__pyx_f_8pysndlib_3clm_normalize_partials(PyObject *__pyx_v_partials, CYTHON_UNUSED int __pyx_skip_dispatch) {
__Pyx_memviewslice __pyx_v_partials_view = { 0, 0, { 0 }, { 0 }, { 0 } };
PyArrayObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("normalize_partials", 0);
__Pyx_INCREF(__pyx_v_partials);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_8, 1);
__Pyx_AddTraceback("pysndlib.clm.normalize_partials", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_partials_view, 1);
__Pyx_XDECREF(__pyx_v_partials);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_215normalize_partials(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_214normalize_partials, "\n scales the partial amplitudes in the list/array or list 'partials' by the inverse of their sum (so that they add to 1.0).\n\n :param partials: list or np.ndarray of partials (harm and amp)\n :return: normalized partials\n :rtype: np.ndarray \n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_215normalize_partials = {"normalize_partials", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_215normalize_partials, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_214normalize_partials};
static PyObject *__pyx_pw_8pysndlib_3clm_215normalize_partials(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_partials = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("normalize_partials (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_partials,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_partials)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1754, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "normalize_partials") < 0)) __PYX_ERR(0, 1754, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_partials = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("normalize_partials", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1754, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.normalize_partials", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_214normalize_partials(__pyx_self, __pyx_v_partials);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_214normalize_partials(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_partials) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("normalize_partials", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_normalize_partials(__pyx_v_partials, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1754, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.normalize_partials", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__260 = PyTuple_Pack(1, __pyx_n_s_partials); if (unlikely(!__pyx_tuple__260)) __PYX_ERR(0, 1754, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__260);
__Pyx_GIVEREF(__pyx_tuple__260);
/* … */
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_215normalize_partials, 0, __pyx_n_s_normalize_partials, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__261)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1754, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_normalize_partials, __pyx_t_37) < 0) __PYX_ERR(0, 1754, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__261 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__260, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_normalize_partials, 1754, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__261)) __PYX_ERR(0, 1754, __pyx_L1_error)
1755: """
1756: scales the partial amplitudes in the list/array or list 'partials' by the inverse of their sum (so that they add to 1.0).
1757:
1758: :param partials: list or np.ndarray of partials (harm and amp)
1759: :return: normalized partials
1760: :rtype: np.ndarray
1761:
1762: """
+1763: if isinstance(partials, list):
__pyx_t_1 = PyList_Check(__pyx_v_partials);
if (__pyx_t_1) {
/* … */
}
+1764: partials = np.array(partials, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_partials); __Pyx_GIVEREF(__pyx_v_partials); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_partials); __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_double); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_6) < 0) __PYX_ERR(0, 1764, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_partials, __pyx_t_6); __pyx_t_6 = 0;
1765:
+1766: check_ndim(partials)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1766, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_partials}; __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1766, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
1767:
+1768: cdef double [:] partials_view = partials
__pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_partials, PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 1768, __pyx_L1_error) __pyx_v_partials_view = __pyx_t_8; __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL;
1769:
+1770: cclm.mus_normalize_partials(len(partials), &partials_view[0])
__pyx_t_9 = PyObject_Length(__pyx_v_partials); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1770, __pyx_L1_error) __pyx_t_10 = 0; __pyx_t_7 = -1; if (__pyx_t_10 < 0) { __pyx_t_10 += __pyx_v_partials_view.shape[0]; if (unlikely(__pyx_t_10 < 0)) __pyx_t_7 = 0; } else if (unlikely(__pyx_t_10 >= __pyx_v_partials_view.shape[0])) __pyx_t_7 = 0; if (unlikely(__pyx_t_7 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_7); __PYX_ERR(0, 1770, __pyx_L1_error) } (void)(mus_normalize_partials(__pyx_t_9, (&(*((double *) ( /* dim=0 */ (__pyx_v_partials_view.data + __pyx_t_10 * __pyx_v_partials_view.strides[0]) ))))));
1771:
+1772: return partials
__Pyx_XDECREF((PyObject *)__pyx_r); if (!(likely(((__pyx_v_partials) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_partials, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1772, __pyx_L1_error) __Pyx_INCREF(__pyx_v_partials); __pyx_r = ((PyArrayObject *)__pyx_v_partials); goto __pyx_L0;
1773:
+1774: cpdef cython.double chebyshev_tu_sum(x: cython.double, tcoeffs: npt.NDArray[np.float64], ucoeffs: npt.NDArray[np.float64]):
static PyObject *__pyx_pw_8pysndlib_3clm_217chebyshev_tu_sum(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_chebyshev_tu_sum(double __pyx_v_x, PyObject *__pyx_v_tcoeffs, PyObject *__pyx_v_ucoeffs, CYTHON_UNUSED int __pyx_skip_dispatch) {
__Pyx_memviewslice __pyx_v_tcoeffs_view = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_ucoeffs_view = { 0, 0, { 0 }, { 0 }, { 0 } };
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("chebyshev_tu_sum", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_5, 1);
__Pyx_AddTraceback("pysndlib.clm.chebyshev_tu_sum", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_tcoeffs_view, 1);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_ucoeffs_view, 1);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_217chebyshev_tu_sum(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_216chebyshev_tu_sum, "\n returns the sum of the weighted chebyshev polynomials tn and un, with phase x\n \n :param x: input\n :param tcoeffs: tn\n :param ucoeffs: un\n :return: output\n :rtype: float\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_217chebyshev_tu_sum = {"chebyshev_tu_sum", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_217chebyshev_tu_sum, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_216chebyshev_tu_sum};
static PyObject *__pyx_pw_8pysndlib_3clm_217chebyshev_tu_sum(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_x;
PyObject *__pyx_v_tcoeffs = 0;
PyObject *__pyx_v_ucoeffs = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("chebyshev_tu_sum (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_tcoeffs,&__pyx_n_s_ucoeffs,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1774, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_tcoeffs)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1774, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("chebyshev_tu_sum", 1, 3, 3, 1); __PYX_ERR(0, 1774, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ucoeffs)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1774, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("chebyshev_tu_sum", 1, 3, 3, 2); __PYX_ERR(0, 1774, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "chebyshev_tu_sum") < 0)) __PYX_ERR(0, 1774, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1774, __pyx_L3_error)
__pyx_v_tcoeffs = values[1];
__pyx_v_ucoeffs = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("chebyshev_tu_sum", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1774, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.chebyshev_tu_sum", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_216chebyshev_tu_sum(__pyx_self, __pyx_v_x, __pyx_v_tcoeffs, __pyx_v_ucoeffs);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_216chebyshev_tu_sum(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_x, PyObject *__pyx_v_tcoeffs, PyObject *__pyx_v_ucoeffs) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("chebyshev_tu_sum", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_chebyshev_tu_sum(__pyx_v_x, __pyx_v_tcoeffs, __pyx_v_ucoeffs, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1774, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1774, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.chebyshev_tu_sum", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__262 = PyTuple_Pack(3, __pyx_n_s_x, __pyx_n_s_tcoeffs, __pyx_n_s_ucoeffs); if (unlikely(!__pyx_tuple__262)) __PYX_ERR(0, 1774, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__262);
__Pyx_GIVEREF(__pyx_tuple__262);
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1774, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_x, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1774, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_tcoeffs, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1774, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_ucoeffs, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1774, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_217chebyshev_tu_sum, 0, __pyx_n_s_chebyshev_tu_sum, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__263)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1774, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_chebyshev_tu_sum, __pyx_t_40) < 0) __PYX_ERR(0, 1774, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__263 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__262, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_chebyshev_tu_sum, 1774, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__263)) __PYX_ERR(0, 1774, __pyx_L1_error)
1775: """
1776: returns the sum of the weighted chebyshev polynomials tn and un, with phase x
1777:
1778: :param x: input
1779: :param tcoeffs: tn
1780: :param ucoeffs: un
1781: :return: output
1782: :rtype: float
1783:
1784: """
1785:
+1786: check_ndim(tcoeffs)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_tcoeffs}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1787: check_ndim(ucoeffs)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ucoeffs}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1788: compare_shapes(tcoeffs, ucoeffs)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_compare_shapes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_v_tcoeffs, __pyx_v_ucoeffs}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1789:
+1790: cdef double [:] tcoeffs_view = tcoeffs
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_tcoeffs, PyBUF_WRITABLE); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 1790, __pyx_L1_error) __pyx_v_tcoeffs_view = __pyx_t_5; __pyx_t_5.memview = NULL; __pyx_t_5.data = NULL;
+1791: cdef double [:] ucoeffs_view = ucoeffs
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_ucoeffs, PyBUF_WRITABLE); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 1791, __pyx_L1_error) __pyx_v_ucoeffs_view = __pyx_t_5; __pyx_t_5.memview = NULL; __pyx_t_5.data = NULL;
+1792: return cclm.mus_chebyshev_tu_sum(x, len(tcoeffs), &tcoeffs_view[0], &ucoeffs_view[0])
__pyx_t_6 = PyObject_Length(__pyx_v_tcoeffs); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1792, __pyx_L1_error) __pyx_t_7 = 0; __pyx_t_4 = -1; if (__pyx_t_7 < 0) { __pyx_t_7 += __pyx_v_tcoeffs_view.shape[0]; if (unlikely(__pyx_t_7 < 0)) __pyx_t_4 = 0; } else if (unlikely(__pyx_t_7 >= __pyx_v_tcoeffs_view.shape[0])) __pyx_t_4 = 0; if (unlikely(__pyx_t_4 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_4); __PYX_ERR(0, 1792, __pyx_L1_error) } __pyx_t_8 = 0; __pyx_t_4 = -1; if (__pyx_t_8 < 0) { __pyx_t_8 += __pyx_v_ucoeffs_view.shape[0]; if (unlikely(__pyx_t_8 < 0)) __pyx_t_4 = 0; } else if (unlikely(__pyx_t_8 >= __pyx_v_ucoeffs_view.shape[0])) __pyx_t_4 = 0; if (unlikely(__pyx_t_4 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_4); __PYX_ERR(0, 1792, __pyx_L1_error) } __pyx_r = mus_chebyshev_tu_sum(__pyx_v_x, __pyx_t_6, (&(*((double *) ( /* dim=0 */ (__pyx_v_tcoeffs_view.data + __pyx_t_7 * __pyx_v_tcoeffs_view.strides[0]) )))), (&(*((double *) ( /* dim=0 */ (__pyx_v_ucoeffs_view.data + __pyx_t_8 * __pyx_v_ucoeffs_view.strides[0]) ))))); goto __pyx_L0;
1793:
1794:
+1795: cpdef cython.double chebyshev_t_sum(x: cython.double, tcoeffs: npt.NDArray[np.float64]):
static PyObject *__pyx_pw_8pysndlib_3clm_219chebyshev_t_sum(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_chebyshev_t_sum(double __pyx_v_x, PyObject *__pyx_v_tcoeffs, CYTHON_UNUSED int __pyx_skip_dispatch) {
__Pyx_memviewslice __pyx_v_tcoeffs_view = { 0, 0, { 0 }, { 0 }, { 0 } };
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("chebyshev_t_sum", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_5, 1);
__Pyx_AddTraceback("pysndlib.clm.chebyshev_t_sum", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_tcoeffs_view, 1);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_219chebyshev_t_sum(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_218chebyshev_t_sum, "\n returns the sum of the weighted chebyshev polynomials tn\n \n :param x: nput\n :param tcoeffs: tn\n :return: output\n :rtype: float\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_219chebyshev_t_sum = {"chebyshev_t_sum", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_219chebyshev_t_sum, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_218chebyshev_t_sum};
static PyObject *__pyx_pw_8pysndlib_3clm_219chebyshev_t_sum(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_x;
PyObject *__pyx_v_tcoeffs = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("chebyshev_t_sum (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_tcoeffs,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1795, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_tcoeffs)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1795, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("chebyshev_t_sum", 1, 2, 2, 1); __PYX_ERR(0, 1795, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "chebyshev_t_sum") < 0)) __PYX_ERR(0, 1795, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1795, __pyx_L3_error)
__pyx_v_tcoeffs = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("chebyshev_t_sum", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1795, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.chebyshev_t_sum", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_218chebyshev_t_sum(__pyx_self, __pyx_v_x, __pyx_v_tcoeffs);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_218chebyshev_t_sum(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_x, PyObject *__pyx_v_tcoeffs) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("chebyshev_t_sum", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_chebyshev_t_sum(__pyx_v_x, __pyx_v_tcoeffs, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1795, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1795, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.chebyshev_t_sum", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__264 = PyTuple_Pack(2, __pyx_n_s_x, __pyx_n_s_tcoeffs); if (unlikely(!__pyx_tuple__264)) __PYX_ERR(0, 1795, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__264);
__Pyx_GIVEREF(__pyx_tuple__264);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1795, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_x, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1795, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_tcoeffs, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1795, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_219chebyshev_t_sum, 0, __pyx_n_s_chebyshev_t_sum, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__265)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1795, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_chebyshev_t_sum, __pyx_t_37) < 0) __PYX_ERR(0, 1795, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__265 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__264, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_chebyshev_t_sum, 1795, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__265)) __PYX_ERR(0, 1795, __pyx_L1_error)
1796: """
1797: returns the sum of the weighted chebyshev polynomials tn
1798:
1799: :param x: nput
1800: :param tcoeffs: tn
1801: :return: output
1802: :rtype: float
1803:
1804: """
1805:
+1806: check_ndim(tcoeffs)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1806, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_tcoeffs}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1806, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1807:
+1808: cdef double [:] tcoeffs_view = tcoeffs
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_tcoeffs, PyBUF_WRITABLE); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 1808, __pyx_L1_error) __pyx_v_tcoeffs_view = __pyx_t_5; __pyx_t_5.memview = NULL; __pyx_t_5.data = NULL;
+1809: return cclm.mus_chebyshev_t_sum(x,len(tcoeffs), &tcoeffs_view[0])
__pyx_t_6 = PyObject_Length(__pyx_v_tcoeffs); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1809, __pyx_L1_error) __pyx_t_7 = 0; __pyx_t_4 = -1; if (__pyx_t_7 < 0) { __pyx_t_7 += __pyx_v_tcoeffs_view.shape[0]; if (unlikely(__pyx_t_7 < 0)) __pyx_t_4 = 0; } else if (unlikely(__pyx_t_7 >= __pyx_v_tcoeffs_view.shape[0])) __pyx_t_4 = 0; if (unlikely(__pyx_t_4 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_4); __PYX_ERR(0, 1809, __pyx_L1_error) } __pyx_r = mus_chebyshev_t_sum(__pyx_v_x, __pyx_t_6, (&(*((double *) ( /* dim=0 */ (__pyx_v_tcoeffs_view.data + __pyx_t_7 * __pyx_v_tcoeffs_view.strides[0]) ))))); goto __pyx_L0;
1810:
+1811: cpdef cython.double chebyshev_u_sum(x: cython.double, ucoeffs: npt.NDArray[np.float64]):
static PyObject *__pyx_pw_8pysndlib_3clm_221chebyshev_u_sum(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_chebyshev_u_sum(double __pyx_v_x, PyObject *__pyx_v_ucoeffs, CYTHON_UNUSED int __pyx_skip_dispatch) {
__Pyx_memviewslice __pyx_v_ucoeffs_view = { 0, 0, { 0 }, { 0 }, { 0 } };
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("chebyshev_u_sum", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_5, 1);
__Pyx_AddTraceback("pysndlib.clm.chebyshev_u_sum", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_ucoeffs_view, 1);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_221chebyshev_u_sum(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_220chebyshev_u_sum, "\n returns the sum of the weighted chebyshev polynomials un\n \n :param x: input\n :param ucoeffs: un\n :return: output\n :rtype: float\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_221chebyshev_u_sum = {"chebyshev_u_sum", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_221chebyshev_u_sum, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_220chebyshev_u_sum};
static PyObject *__pyx_pw_8pysndlib_3clm_221chebyshev_u_sum(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_x;
PyObject *__pyx_v_ucoeffs = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("chebyshev_u_sum (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_ucoeffs,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1811, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ucoeffs)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1811, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("chebyshev_u_sum", 1, 2, 2, 1); __PYX_ERR(0, 1811, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "chebyshev_u_sum") < 0)) __PYX_ERR(0, 1811, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1811, __pyx_L3_error)
__pyx_v_ucoeffs = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("chebyshev_u_sum", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1811, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.chebyshev_u_sum", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_220chebyshev_u_sum(__pyx_self, __pyx_v_x, __pyx_v_ucoeffs);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_220chebyshev_u_sum(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_x, PyObject *__pyx_v_ucoeffs) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("chebyshev_u_sum", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_chebyshev_u_sum(__pyx_v_x, __pyx_v_ucoeffs, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1811, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1811, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.chebyshev_u_sum", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__266 = PyTuple_Pack(2, __pyx_n_s_x, __pyx_n_s_ucoeffs); if (unlikely(!__pyx_tuple__266)) __PYX_ERR(0, 1811, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__266);
__Pyx_GIVEREF(__pyx_tuple__266);
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1811, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_x, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1811, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_ucoeffs, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 1811, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_221chebyshev_u_sum, 0, __pyx_n_s_chebyshev_u_sum, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__267)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1811, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_chebyshev_u_sum, __pyx_t_40) < 0) __PYX_ERR(0, 1811, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__267 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__266, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_chebyshev_u_sum, 1811, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__267)) __PYX_ERR(0, 1811, __pyx_L1_error)
1812: """
1813: returns the sum of the weighted chebyshev polynomials un
1814:
1815: :param x: input
1816: :param ucoeffs: un
1817: :return: output
1818: :rtype: float
1819:
1820: """
1821:
+1822: check_ndim(ucoeffs)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ucoeffs}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1823:
+1824: cdef double [:] ucoeffs_view = ucoeffs
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_ucoeffs, PyBUF_WRITABLE); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 1824, __pyx_L1_error) __pyx_v_ucoeffs_view = __pyx_t_5; __pyx_t_5.memview = NULL; __pyx_t_5.data = NULL;
+1825: return cclm.mus_chebyshev_u_sum(x,len(ucoeffs), &ucoeffs_view[0])
__pyx_t_6 = PyObject_Length(__pyx_v_ucoeffs); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1825, __pyx_L1_error) __pyx_t_7 = 0; __pyx_t_4 = -1; if (__pyx_t_7 < 0) { __pyx_t_7 += __pyx_v_ucoeffs_view.shape[0]; if (unlikely(__pyx_t_7 < 0)) __pyx_t_4 = 0; } else if (unlikely(__pyx_t_7 >= __pyx_v_ucoeffs_view.shape[0])) __pyx_t_4 = 0; if (unlikely(__pyx_t_4 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_4); __PYX_ERR(0, 1825, __pyx_L1_error) } __pyx_r = mus_chebyshev_u_sum(__pyx_v_x, __pyx_t_6, (&(*((double *) ( /* dim=0 */ (__pyx_v_ucoeffs_view.data + __pyx_t_7 * __pyx_v_ucoeffs_view.strides[0]) ))))); goto __pyx_L0;
1826:
1827:
1828:
1829:
1830: # ---------------- oscil ---------------- #
+1831: cpdef mus_any make_oscil(frequency: Optional[float]=0., initial_phase: Optional[float] = 0.0):
static PyObject *__pyx_pw_8pysndlib_3clm_223make_oscil(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_oscil(CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_oscil *__pyx_optional_args) {
PyObject *__pyx_v_frequency = ((PyObject *)__pyx_float_0_);
PyObject *__pyx_v_initial_phase = ((PyObject *)__pyx_float_0_0);
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_oscil", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_frequency = __pyx_optional_args->frequency;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_initial_phase = __pyx_optional_args->initial_phase;
}
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.make_oscil", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_223make_oscil(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_222make_oscil, "\n return a new oscil (sinewave) generator\n \n :param frequency: frequency in hz\n :param initial_phase: initial phase in radians\n :return: oscil gen\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_223make_oscil = {"make_oscil", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_223make_oscil, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_222make_oscil};
static PyObject *__pyx_pw_8pysndlib_3clm_223make_oscil(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_frequency = 0;
PyObject *__pyx_v_initial_phase = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_oscil (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frequency,&__pyx_n_s_initial_phase,0};
PyObject* values[2] = {0,0};
values[0] = ((PyObject *)__pyx_float_0_);
values[1] = ((PyObject *)__pyx_float_0_0);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frequency);
if (value) { values[0] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1831, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_initial_phase);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1831, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_oscil") < 0)) __PYX_ERR(0, 1831, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_frequency = values[0];
__pyx_v_initial_phase = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_oscil", 0, 0, 2, __pyx_nargs); __PYX_ERR(0, 1831, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_oscil", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_222make_oscil(__pyx_self, __pyx_v_frequency, __pyx_v_initial_phase);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_222make_oscil(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_frequency, PyObject *__pyx_v_initial_phase) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_oscil", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 2;
__pyx_t_2.frequency = __pyx_v_frequency;
__pyx_t_2.initial_phase = __pyx_v_initial_phase;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_oscil(0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1831, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_oscil", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__268 = PyTuple_Pack(2, __pyx_n_s_frequency, __pyx_n_s_initial_phase); if (unlikely(!__pyx_tuple__268)) __PYX_ERR(0, 1831, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__268);
__Pyx_GIVEREF(__pyx_tuple__268);
__pyx_codeobj__269 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__268, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_oscil, 1831, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__269)) __PYX_ERR(0, 1831, __pyx_L1_error)
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1831, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_frequency, __pyx_kp_s_Optional_float) < 0) __PYX_ERR(0, 1831, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_initial_phase, __pyx_kp_s_Optional_float) < 0) __PYX_ERR(0, 1831, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_223make_oscil, 0, __pyx_n_s_make_oscil, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__269)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1831, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__270);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_oscil, __pyx_t_37) < 0) __PYX_ERR(0, 1831, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_tuple__270 = PyTuple_Pack(2, __pyx_float_0_, __pyx_float_0_0); if (unlikely(!__pyx_tuple__270)) __PYX_ERR(0, 1831, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__270);
__Pyx_GIVEREF(__pyx_tuple__270);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_oscil {
int __pyx_n;
PyObject *frequency;
PyObject *initial_phase;
};
1832: """
1833: return a new oscil (sinewave) generator
1834:
1835: :param frequency: frequency in hz
1836: :param initial_phase: initial phase in radians
1837: :return: oscil gen
1838:
1839: """
+1840: return mus_any.from_ptr(cclm.mus_make_oscil(frequency, initial_phase))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_frequency); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1840, __pyx_L1_error) __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_initial_phase); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1840, __pyx_L1_error) __pyx_t_3 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_oscil(__pyx_t_1, __pyx_t_2), NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L0;
1841:
+1842: cpdef cython.double oscil(gen: mus_any, fm: Optional[float]=None, pm: Optional[float]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_225oscil(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_oscil(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_oscil *__pyx_optional_args) {
PyObject *__pyx_v_fm = ((PyObject *)Py_None);
PyObject *__pyx_v_pm = ((PyObject *)Py_None);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("oscil", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_fm = __pyx_optional_args->fm;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_pm = __pyx_optional_args->pm;
}
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.oscil", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_225oscil(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_224oscil, "\n return next sample from oscil gen: val = sin(phase + pm); phase += (freq + fm)\n \n :param gen: oscil gen\n :param fm: fm input\n :param pm: pm input\n :return: output\n :rtype: float\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_225oscil = {"oscil", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_225oscil, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_224oscil};
static PyObject *__pyx_pw_8pysndlib_3clm_225oscil(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_fm = 0;
PyObject *__pyx_v_pm = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("oscil (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_fm,&__pyx_n_s_pm,0};
PyObject* values[3] = {0,0,0};
values[1] = ((PyObject *)Py_None);
values[2] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1842, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fm);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1842, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pm);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1842, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "oscil") < 0)) __PYX_ERR(0, 1842, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_fm = values[1];
__pyx_v_pm = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("oscil", 0, 1, 3, __pyx_nargs); __PYX_ERR(0, 1842, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.oscil", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 1842, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_224oscil(__pyx_self, __pyx_v_gen, __pyx_v_fm, __pyx_v_pm);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_224oscil(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_fm, PyObject *__pyx_v_pm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("oscil", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 2;
__pyx_t_2.fm = __pyx_v_fm;
__pyx_t_2.pm = __pyx_v_pm;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_oscil(__pyx_v_gen, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1842, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1842, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.oscil", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__271 = PyTuple_Pack(3, __pyx_n_s_gen, __pyx_n_s_fm, __pyx_n_s_pm); if (unlikely(!__pyx_tuple__271)) __PYX_ERR(0, 1842, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__271);
__Pyx_GIVEREF(__pyx_tuple__271);
__pyx_codeobj__272 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__271, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_oscil, 1842, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__272)) __PYX_ERR(0, 1842, __pyx_L1_error)
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1842, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 1842, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_fm, __pyx_kp_s_Optional_float) < 0) __PYX_ERR(0, 1842, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_pm, __pyx_kp_s_Optional_float) < 0) __PYX_ERR(0, 1842, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_225oscil, 0, __pyx_n_s_oscil, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__272)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1842, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_tuple__273);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_oscil, __pyx_t_40) < 0) __PYX_ERR(0, 1842, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_tuple__273 = PyTuple_Pack(2, Py_None, Py_None); if (unlikely(!__pyx_tuple__273)) __PYX_ERR(0, 1842, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__273);
__Pyx_GIVEREF(__pyx_tuple__273);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_oscil {
int __pyx_n;
PyObject *fm;
PyObject *pm;
};
1843: """
1844: return next sample from oscil gen: val = sin(phase + pm); phase += (freq + fm)
1845:
1846: :param gen: oscil gen
1847: :param fm: fm input
1848: :param pm: pm input
1849: :return: output
1850: :rtype: float
1851:
1852: """
+1853: if not (fm or pm):
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_fm); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1853, __pyx_L1_error) if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L4_bool_binop_done; } __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_pm); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1853, __pyx_L1_error) __pyx_t_1 = __pyx_t_2; __pyx_L4_bool_binop_done:; __pyx_t_2 = (!__pyx_t_1); if (__pyx_t_2) { /* … */ }
+1854: return cclm.mus_oscil_unmodulated(gen._ptr)
__pyx_r = mus_oscil_unmodulated(__pyx_v_gen->_ptr);
goto __pyx_L0;
+1855: elif fm and not pm:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_fm); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1855, __pyx_L1_error) if (__pyx_t_1) { } else { __pyx_t_2 = __pyx_t_1; goto __pyx_L6_bool_binop_done; } __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_pm); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 1855, __pyx_L1_error) __pyx_t_3 = (!__pyx_t_1); __pyx_t_2 = __pyx_t_3; __pyx_L6_bool_binop_done:; if (__pyx_t_2) { /* … */ }
+1856: return cclm.mus_oscil_fm(gen._ptr, fm)
__pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_v_fm); if (unlikely((__pyx_t_4 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1856, __pyx_L1_error) __pyx_r = mus_oscil_fm(__pyx_v_gen->_ptr, __pyx_t_4); goto __pyx_L0;
1857: else:
+1858: return cclm.mus_oscil(gen._ptr, fm, pm)
/*else*/ {
__pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_v_fm); if (unlikely((__pyx_t_4 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1858, __pyx_L1_error)
__pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_v_pm); if (unlikely((__pyx_t_5 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1858, __pyx_L1_error)
__pyx_r = mus_oscil(__pyx_v_gen->_ptr, __pyx_t_4, __pyx_t_5);
goto __pyx_L0;
}
1859:
+1860: cpdef bint is_oscil(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_227is_oscil(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_oscil(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_oscil", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_227is_oscil(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_226is_oscil, "\n returns true if gen is an oscil\n \n :param gen: oscil gen\n :return: result\n :rtype: bool\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_227is_oscil = {"is_oscil", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_227is_oscil, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_226is_oscil};
static PyObject *__pyx_pw_8pysndlib_3clm_227is_oscil(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_oscil (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1860, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_oscil") < 0)) __PYX_ERR(0, 1860, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_oscil", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1860, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_oscil", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 1860, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_226is_oscil(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_226is_oscil(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_oscil", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_oscil(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1860, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1860, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_oscil", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1860, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 1860, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_227is_oscil, 0, __pyx_n_s_is_oscil, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__274)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1860, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_oscil, __pyx_t_37) < 0) __PYX_ERR(0, 1860, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__274 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_oscil, 1860, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__274)) __PYX_ERR(0, 1860, __pyx_L1_error)
1861: """
1862: returns true if gen is an oscil
1863:
1864: :param gen: oscil gen
1865: :return: result
1866: :rtype: bool
1867:
1868: """
+1869: return cclm.mus_is_oscil(gen._ptr)
__pyx_r = mus_is_oscil(__pyx_v_gen->_ptr); goto __pyx_L0;
1870:
1871: # ---------------- oscil-bank ---------------- #
1872:
+1873: cpdef mus_any make_oscil_bank(freqs, phases, amps=None, stable: Optional[bool]=False):
static PyObject *__pyx_pw_8pysndlib_3clm_229make_oscil_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_oscil_bank(PyObject *__pyx_v_freqs, PyObject *__pyx_v_phases, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_oscil_bank *__pyx_optional_args) {
PyObject *__pyx_v_amps = ((PyObject *)Py_None);
PyObject *__pyx_v_stable = ((PyObject *)Py_False);
__Pyx_memviewslice __pyx_v_freqs_view = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_phases_view = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_amps_view = { 0, 0, { 0 }, { 0 }, { 0 } };
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_oscil_bank", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_amps = __pyx_optional_args->amps;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_stable = __pyx_optional_args->stable;
}
}
}
__Pyx_INCREF(__pyx_v_freqs);
__Pyx_INCREF(__pyx_v_phases);
__Pyx_INCREF(__pyx_v_amps);
/* … */
/* function exit code */
__pyx_L1_error:;
__PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_AddTraceback("pysndlib.clm.make_oscil_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_freqs_view, 1);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_phases_view, 1);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_amps_view, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XDECREF(__pyx_v_freqs);
__Pyx_XDECREF(__pyx_v_phases);
__Pyx_XDECREF(__pyx_v_amps);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_229make_oscil_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_228make_oscil_bank, "\n return a new oscil_bank generator. (freqs in radians)\n \n :param freqs: list or np.ndarray of frequencies in radians\n :param phases: list or np.ndarray of initial phases in radians\n :param stable: if it is true, oscil_bank can assume that the frequency. this is not operative\n :return: oscil_bank gen\n :rtype: mus_any\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_229make_oscil_bank = {"make_oscil_bank", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_229make_oscil_bank, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_228make_oscil_bank};
static PyObject *__pyx_pw_8pysndlib_3clm_229make_oscil_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_freqs = 0;
PyObject *__pyx_v_phases = 0;
PyObject *__pyx_v_amps = 0;
PyObject *__pyx_v_stable = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_oscil_bank (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_freqs,&__pyx_n_s_phases,&__pyx_n_s_amps,&__pyx_n_s_stable,0};
PyObject* values[4] = {0,0,0,0};
values[2] = ((PyObject *)Py_None);
values[3] = ((PyObject *)Py_False);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_freqs)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1873, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_phases)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1873, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_oscil_bank", 0, 2, 4, 1); __PYX_ERR(0, 1873, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_amps);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1873, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_stable);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1873, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_oscil_bank") < 0)) __PYX_ERR(0, 1873, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_freqs = values[0];
__pyx_v_phases = values[1];
__pyx_v_amps = values[2];
__pyx_v_stable = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_oscil_bank", 0, 2, 4, __pyx_nargs); __PYX_ERR(0, 1873, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_oscil_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_228make_oscil_bank(__pyx_self, __pyx_v_freqs, __pyx_v_phases, __pyx_v_amps, __pyx_v_stable);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_228make_oscil_bank(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_freqs, PyObject *__pyx_v_phases, PyObject *__pyx_v_amps, PyObject *__pyx_v_stable) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_oscil_bank", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 2;
__pyx_t_2.amps = __pyx_v_amps;
__pyx_t_2.stable = __pyx_v_stable;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_oscil_bank(__pyx_v_freqs, __pyx_v_phases, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1873, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_oscil_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__275 = PyTuple_Pack(4, __pyx_n_s_freqs, __pyx_n_s_phases, __pyx_n_s_amps, __pyx_n_s_stable); if (unlikely(!__pyx_tuple__275)) __PYX_ERR(0, 1873, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__275);
__Pyx_GIVEREF(__pyx_tuple__275);
__pyx_codeobj__276 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__275, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_oscil_bank, 1873, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__276)) __PYX_ERR(0, 1873, __pyx_L1_error)
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1873, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_stable, __pyx_kp_s_Optional_bool) < 0) __PYX_ERR(0, 1873, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_229make_oscil_bank, 0, __pyx_n_s_make_oscil_bank, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__276)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1873, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_tuple__277);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_oscil_bank, __pyx_t_40) < 0) __PYX_ERR(0, 1873, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_tuple__277 = PyTuple_Pack(2, Py_None, Py_False); if (unlikely(!__pyx_tuple__277)) __PYX_ERR(0, 1873, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__277);
__Pyx_GIVEREF(__pyx_tuple__277);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_oscil_bank {
int __pyx_n;
PyObject *amps;
PyObject *stable;
};
1874: """
1875: return a new oscil_bank generator. (freqs in radians)
1876:
1877: :param freqs: list or np.ndarray of frequencies in radians
1878: :param phases: list or np.ndarray of initial phases in radians
1879: :param stable: if it is true, oscil_bank can assume that the frequency. this is not operative
1880: :return: oscil_bank gen
1881: :rtype: mus_any
1882:
1883: """
+1884: cdef cclm.mus_float_t [:] freqs_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn_mus_float_t(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 1884, __pyx_L1_error) __pyx_v_freqs_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
+1885: cdef cclm.mus_float_t [:] phases_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn_mus_float_t(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 1885, __pyx_L1_error) __pyx_v_phases_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
+1886: cdef cclm.mus_float_t [:] amps_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn_mus_float_t(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 1886, __pyx_L1_error) __pyx_v_amps_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
1887:
+1888: if isinstance(freqs, list):
__pyx_t_2 = PyList_Check(__pyx_v_freqs);
if (__pyx_t_2) {
/* … */
}
+1889: freqs = np.array(freqs, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1889, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1889, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1889, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_freqs); __Pyx_GIVEREF(__pyx_v_freqs); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_freqs); __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1889, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1889, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_double); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1889, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_7) < 0) __PYX_ERR(0, 1889, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1889, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_freqs, __pyx_t_7); __pyx_t_7 = 0;
+1890: if isinstance(phases, list):
__pyx_t_2 = PyList_Check(__pyx_v_phases);
if (__pyx_t_2) {
/* … */
}
+1891: phases = np.array(phases, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1891, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1891, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1891, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_v_phases); __Pyx_GIVEREF(__pyx_v_phases); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_phases); __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1891, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1891, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_double); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1891, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_6) < 0) __PYX_ERR(0, 1891, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1891, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_phases, __pyx_t_6); __pyx_t_6 = 0;
1892:
+1893: check_ndim(freqs)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_8 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_freqs}; __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1894: check_ndim(phases)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_8 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_phases}; __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1895: compare_shapes(freqs, phases)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_compare_shapes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1895, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_8 = 1; } } { PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_v_freqs, __pyx_v_phases}; __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_8, 2+__pyx_t_8); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1895, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
1896:
+1897: freqs_view = freqs
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn_mus_float_t(__pyx_v_freqs, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 1897, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_freqs_view, 1); __pyx_v_freqs_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
+1898: phases_view = phases
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn_mus_float_t(__pyx_v_phases, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 1898, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_phases_view, 1); __pyx_v_phases_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
1899:
+1900: if amps is not None:
__pyx_t_2 = (__pyx_v_amps != Py_None);
if (__pyx_t_2) {
/* … */
}
+1901: if isinstance(amps, list):
__pyx_t_2 = PyList_Check(__pyx_v_amps);
if (__pyx_t_2) {
/* … */
}
+1902: amps = np.array(amps, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_amps); __Pyx_GIVEREF(__pyx_v_amps); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_amps); __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_double); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_dtype, __pyx_t_4) < 0) __PYX_ERR(0, 1902, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF_SET(__pyx_v_amps, __pyx_t_4); __pyx_t_4 = 0;
+1903: check_ndim(amps)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1903, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_8 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_amps}; __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1903, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+1904: amps_view = amps
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn_mus_float_t(__pyx_v_amps, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 1904, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_amps_view, 1); __pyx_v_amps_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
1905:
1906:
+1907: gen = mus_any.from_ptr(cclm.mus_make_oscil_bank(len(freqs), &freqs_view[0], &phases_view[0], &s_view[0], stable))
__pyx_t_9 = PyObject_Length(__pyx_v_freqs); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1907, __pyx_L1_error) __pyx_t_10 = 0; __pyx_t_8 = -1; if (__pyx_t_10 < 0) { __pyx_t_10 += __pyx_v_freqs_view.shape[0]; if (unlikely(__pyx_t_10 < 0)) __pyx_t_8 = 0; } else if (unlikely(__pyx_t_10 >= __pyx_v_freqs_view.shape[0])) __pyx_t_8 = 0; if (unlikely(__pyx_t_8 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_8); __PYX_ERR(0, 1907, __pyx_L1_error) } __pyx_t_11 = 0; __pyx_t_8 = -1; if (__pyx_t_11 < 0) { __pyx_t_11 += __pyx_v_phases_view.shape[0]; if (unlikely(__pyx_t_11 < 0)) __pyx_t_8 = 0; } else if (unlikely(__pyx_t_11 >= __pyx_v_phases_view.shape[0])) __pyx_t_8 = 0; if (unlikely(__pyx_t_8 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_8); __PYX_ERR(0, 1907, __pyx_L1_error) } __pyx_t_12 = 0; __pyx_t_8 = -1; if (__pyx_t_12 < 0) { __pyx_t_12 += __pyx_v_amps_view.shape[0]; if (unlikely(__pyx_t_12 < 0)) __pyx_t_8 = 0; } else if (unlikely(__pyx_t_12 >= __pyx_v_amps_view.shape[0])) __pyx_t_8 = 0; if (unlikely(__pyx_t_8 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_8); __PYX_ERR(0, 1907, __pyx_L1_error) } __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_stable); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1907, __pyx_L1_error) __pyx_t_4 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_oscil_bank(__pyx_t_9, (&(*((mus_float_t *) ( /* dim=0 */ (__pyx_v_freqs_view.data + __pyx_t_10 * __pyx_v_freqs_view.strides[0]) )))), (&(*((mus_float_t *) ( /* dim=0 */ (__pyx_v_phases_view.data + __pyx_t_11 * __pyx_v_phases_view.strides[0]) )))), (&(*((mus_float_t *) ( /* dim=0 */ (__pyx_v_amps_view.data + __pyx_t_12 * __pyx_v_amps_view.strides[0]) )))), __pyx_t_2), NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_4); __pyx_t_4 = 0;
+1908: gen.cache_extend([freqs, phases, amps])
__pyx_t_4 = PyList_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_freqs); __Pyx_GIVEREF(__pyx_v_freqs); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_v_freqs); __Pyx_INCREF(__pyx_v_phases); __Pyx_GIVEREF(__pyx_v_phases); PyList_SET_ITEM(__pyx_t_4, 1, __pyx_v_phases); __Pyx_INCREF(__pyx_v_amps); __Pyx_GIVEREF(__pyx_v_amps); PyList_SET_ITEM(__pyx_t_4, 2, __pyx_v_amps); __pyx_t_7 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_extend(__pyx_v_gen, __pyx_t_4, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1909: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
1910:
+1911: cpdef cython.double oscil_bank(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_231oscil_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_oscil_bank(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("oscil_bank", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_231oscil_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_230oscil_bank, "\n sum an array of oscils\n \n :param gen: oscil_bank gen\n :return: output\n :rtype: float\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_231oscil_bank = {"oscil_bank", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_231oscil_bank, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_230oscil_bank};
static PyObject *__pyx_pw_8pysndlib_3clm_231oscil_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("oscil_bank (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1911, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "oscil_bank") < 0)) __PYX_ERR(0, 1911, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("oscil_bank", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1911, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.oscil_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 1911, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_230oscil_bank(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_230oscil_bank(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("oscil_bank", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_oscil_bank(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1911, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1911, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.oscil_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1911, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 1911, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_231oscil_bank, 0, __pyx_n_s_oscil_bank, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__278)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1911, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_oscil_bank, __pyx_t_37) < 0) __PYX_ERR(0, 1911, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__278 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_oscil_bank, 1911, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__278)) __PYX_ERR(0, 1911, __pyx_L1_error)
1912: """
1913: sum an array of oscils
1914:
1915: :param gen: oscil_bank gen
1916: :return: output
1917: :rtype: float
1918:
1919: """
+1920: return cclm.mus_oscil_bank(gen._ptr)
__pyx_r = mus_oscil_bank(__pyx_v_gen->_ptr); goto __pyx_L0;
1921:
+1922: cpdef bint is_oscil_bank(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_233is_oscil_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_oscil_bank(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_oscil_bank", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_233is_oscil_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_232is_oscil_bank, "\n returns true if gen is an oscil_bank\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_233is_oscil_bank = {"is_oscil_bank", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_233is_oscil_bank, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_232is_oscil_bank};
static PyObject *__pyx_pw_8pysndlib_3clm_233is_oscil_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_oscil_bank (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1922, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_oscil_bank") < 0)) __PYX_ERR(0, 1922, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_oscil_bank", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1922, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_oscil_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 1922, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_232is_oscil_bank(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_232is_oscil_bank(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_oscil_bank", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_oscil_bank(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1922, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1922, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_oscil_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1922, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 1922, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_233is_oscil_bank, 0, __pyx_n_s_is_oscil_bank, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__279)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1922, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_oscil_bank, __pyx_t_40) < 0) __PYX_ERR(0, 1922, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__279 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_oscil_bank, 1922, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__279)) __PYX_ERR(0, 1922, __pyx_L1_error)
1923: """
1924: returns true if gen is an oscil_bank
1925: :param gen: gen
1926: :return: result
1927: :rtype: bool
1928: """
+1929: return cclm.mus_is_oscil_bank(gen._ptr)
__pyx_r = mus_is_oscil_bank(__pyx_v_gen->_ptr); goto __pyx_L0;
1930:
1931:
1932: # ---------------- env ---------------- #
+1933: cpdef mus_any make_env(envelope, scaler: Optional[float]=1.0, duration: Optional[float]=1.0, offset: Optional[float]=0.0, base: Optional[float]=1.0, length: Optional[int]=0):
static PyObject *__pyx_pw_8pysndlib_3clm_235make_env(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_env(PyObject *__pyx_v_envelope, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_env *__pyx_optional_args) {
PyObject *__pyx_v_scaler = ((PyObject *)__pyx_float_1_0);
PyObject *__pyx_v_duration = ((PyObject *)__pyx_float_1_0);
PyObject *__pyx_v_offset = ((PyObject *)__pyx_float_0_0);
PyObject *__pyx_v_base = ((PyObject *)__pyx_float_1_0);
PyObject *__pyx_v_length = ((PyObject *)__pyx_int_0);
__Pyx_memviewslice __pyx_v_envelope_view = { 0, 0, { 0 }, { 0 }, { 0 } };
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_env", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_scaler = __pyx_optional_args->scaler;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_duration = __pyx_optional_args->duration;
if (__pyx_optional_args->__pyx_n > 2) {
__pyx_v_offset = __pyx_optional_args->offset;
if (__pyx_optional_args->__pyx_n > 3) {
__pyx_v_base = __pyx_optional_args->base;
if (__pyx_optional_args->__pyx_n > 4) {
__pyx_v_length = __pyx_optional_args->length;
}
}
}
}
}
}
__Pyx_INCREF(__pyx_v_envelope);
__Pyx_INCREF(__pyx_v_duration);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_9, 1);
__Pyx_AddTraceback("pysndlib.clm.make_env", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_envelope_view, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XDECREF(__pyx_v_envelope);
__Pyx_XDECREF(__pyx_v_duration);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_235make_env(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_234make_env, "\n return a new envelope generator. 'envelope' is a list/array of break-point pairs. to create the envelope, these points are offset by 'offset', scaled by 'scaler', and mapped over the time interval defined by\n either 'duration' (seconds) or 'length' (samples). if 'base' is 1.0, the connecting segments \n are linear, if 0.0 you get a step function, and anything else produces an exponential connecting segment.\n\n :param envelope: list or np.ndarry of breakpoint pairs\n :param scaler: scaler on every y value (before offset is added)\n :param duration: duration in seconds\n :param offset: value added to every y value\n :param base: type of connecting line between break-points\n :param length: duration in samples\n :result: env gen\n :rtype: mus_any\n\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_235make_env = {"make_env", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_235make_env, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_234make_env};
static PyObject *__pyx_pw_8pysndlib_3clm_235make_env(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_envelope = 0;
PyObject *__pyx_v_scaler = 0;
PyObject *__pyx_v_duration = 0;
PyObject *__pyx_v_offset = 0;
PyObject *__pyx_v_base = 0;
PyObject *__pyx_v_length = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_env (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_envelope,&__pyx_n_s_scaler,&__pyx_n_s_duration,&__pyx_n_s_offset,&__pyx_n_s_base,&__pyx_n_s_length,0};
PyObject* values[6] = {0,0,0,0,0,0};
values[1] = ((PyObject *)__pyx_float_1_0);
values[2] = ((PyObject *)__pyx_float_1_0);
values[3] = ((PyObject *)__pyx_float_0_0);
values[4] = ((PyObject *)__pyx_float_1_0);
values[5] = ((PyObject *)__pyx_int_0);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_envelope)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1933, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_scaler);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1933, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_duration);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1933, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_offset);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1933, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_base);
if (value) { values[4] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1933, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_length);
if (value) { values[5] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1933, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_env") < 0)) __PYX_ERR(0, 1933, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_envelope = values[0];
__pyx_v_scaler = values[1];
__pyx_v_duration = values[2];
__pyx_v_offset = values[3];
__pyx_v_base = values[4];
__pyx_v_length = values[5];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_env", 0, 1, 6, __pyx_nargs); __PYX_ERR(0, 1933, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_env", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_234make_env(__pyx_self, __pyx_v_envelope, __pyx_v_scaler, __pyx_v_duration, __pyx_v_offset, __pyx_v_base, __pyx_v_length);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_234make_env(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_envelope, PyObject *__pyx_v_scaler, PyObject *__pyx_v_duration, PyObject *__pyx_v_offset, PyObject *__pyx_v_base, PyObject *__pyx_v_length) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_env", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 5;
__pyx_t_2.scaler = __pyx_v_scaler;
__pyx_t_2.duration = __pyx_v_duration;
__pyx_t_2.offset = __pyx_v_offset;
__pyx_t_2.base = __pyx_v_base;
__pyx_t_2.length = __pyx_v_length;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_env(__pyx_v_envelope, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1933, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_env", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__280 = PyTuple_Pack(6, __pyx_n_s_envelope, __pyx_n_s_scaler, __pyx_n_s_duration, __pyx_n_s_offset, __pyx_n_s_base, __pyx_n_s_length); if (unlikely(!__pyx_tuple__280)) __PYX_ERR(0, 1933, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__280);
__Pyx_GIVEREF(__pyx_tuple__280);
__pyx_codeobj__281 = (PyObject*)__Pyx_PyCode_New(6, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__280, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_env, 1933, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__281)) __PYX_ERR(0, 1933, __pyx_L1_error)
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1933, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_scaler, __pyx_kp_s_Optional_float) < 0) __PYX_ERR(0, 1933, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_duration, __pyx_kp_s_Optional_float) < 0) __PYX_ERR(0, 1933, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_offset, __pyx_kp_s_Optional_float) < 0) __PYX_ERR(0, 1933, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_base, __pyx_kp_s_Optional_float) < 0) __PYX_ERR(0, 1933, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_length, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 1933, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_235make_env, 0, __pyx_n_s_make_env, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__281)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1933, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__282);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_env, __pyx_t_37) < 0) __PYX_ERR(0, 1933, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_tuple__282 = PyTuple_Pack(5, __pyx_float_1_0, __pyx_float_1_0, __pyx_float_0_0, __pyx_float_1_0, __pyx_int_0); if (unlikely(!__pyx_tuple__282)) __PYX_ERR(0, 1933, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__282);
__Pyx_GIVEREF(__pyx_tuple__282);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_env {
int __pyx_n;
PyObject *scaler;
PyObject *duration;
PyObject *offset;
PyObject *base;
PyObject *length;
};
1934: """
1935: return a new envelope generator. 'envelope' is a list/array of break-point pairs. to create the envelope, these points are offset by 'offset', scaled by 'scaler', and mapped over the time interval defined by
1936: either 'duration' (seconds) or 'length' (samples). if 'base' is 1.0, the connecting segments
1937: are linear, if 0.0 you get a step function, and anything else produces an exponential connecting segment.
1938:
1939: :param envelope: list or np.ndarry of breakpoint pairs
1940: :param scaler: scaler on every y value (before offset is added)
1941: :param duration: duration in seconds
1942: :param offset: value added to every y value
1943: :param base: type of connecting line between break-points
1944: :param length: duration in samples
1945: :result: env gen
1946: :rtype: mus_any
1947:
1948: """
+1949: if length > 0:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_length, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1949, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 1949, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ }
+1950: duration = samples2seconds(length)
__pyx_t_3 = __pyx_f_8pysndlib_3clm_samples2seconds(__pyx_v_length, 0); if (unlikely(__pyx_t_3 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1950, __pyx_L1_error) __pyx_t_1 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_duration, __pyx_t_1); __pyx_t_1 = 0;
1951:
+1952: if isinstance(envelope, list):
__pyx_t_2 = PyList_Check(__pyx_v_envelope);
if (__pyx_t_2) {
/* … */
}
+1953: envelope = np.array(envelope, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_envelope); __Pyx_GIVEREF(__pyx_v_envelope); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_envelope); __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_double); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_7) < 0) __PYX_ERR(0, 1953, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_envelope, __pyx_t_7); __pyx_t_7 = 0;
1954:
+1955: check_ndim(envelope)
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_8 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_envelope}; __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
1956:
+1957: cdef double [:] envelope_view = envelope
__pyx_t_9 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_envelope, PyBUF_WRITABLE); if (unlikely(!__pyx_t_9.memview)) __PYX_ERR(0, 1957, __pyx_L1_error) __pyx_v_envelope_view = __pyx_t_9; __pyx_t_9.memview = NULL; __pyx_t_9.data = NULL;
1958:
+1959: gen = mus_any.from_ptr(cclm.mus_make_env(&envelope_view[0], len(envelope) // 2, scaler, offset, base, duration, 0, NULL))
__pyx_t_10 = 0;
__pyx_t_8 = -1;
if (__pyx_t_10 < 0) {
__pyx_t_10 += __pyx_v_envelope_view.shape[0];
if (unlikely(__pyx_t_10 < 0)) __pyx_t_8 = 0;
} else if (unlikely(__pyx_t_10 >= __pyx_v_envelope_view.shape[0])) __pyx_t_8 = 0;
if (unlikely(__pyx_t_8 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_8);
__PYX_ERR(0, 1959, __pyx_L1_error)
}
__pyx_t_11 = PyObject_Length(__pyx_v_envelope); if (unlikely(__pyx_t_11 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1959, __pyx_L1_error)
__pyx_t_12 = __pyx_PyFloat_AsDouble(__pyx_v_scaler); if (unlikely((__pyx_t_12 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1959, __pyx_L1_error)
__pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_v_offset); if (unlikely((__pyx_t_13 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1959, __pyx_L1_error)
__pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_v_base); if (unlikely((__pyx_t_14 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1959, __pyx_L1_error)
__pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_v_duration); if (unlikely((__pyx_t_15 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1959, __pyx_L1_error)
__pyx_t_7 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_env((&(*((double *) ( /* dim=0 */ (__pyx_v_envelope_view.data + __pyx_t_10 * __pyx_v_envelope_view.strides[0]) )))), __Pyx_div_Py_ssize_t(__pyx_t_11, 2), __pyx_t_12, __pyx_t_13, __pyx_t_14, __pyx_t_15, 0, NULL), NULL)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1959, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_7);
__pyx_t_7 = 0;
+1960: gen.cache_append(envelope)
__pyx_t_7 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_append(__pyx_v_gen, __pyx_v_envelope, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1961: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
1962:
+1963: cpdef cython.double env(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_237env(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_env(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("env", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_237env(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_236env, "\n next sample from envelope generator\n\n :param gen: env gen\n :return: env output\n :rtype: float\n\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_237env = {"env", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_237env, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_236env};
static PyObject *__pyx_pw_8pysndlib_3clm_237env(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("env (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1963, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "env") < 0)) __PYX_ERR(0, 1963, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("env", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1963, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.env", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 1963, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_236env(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_236env(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("env", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_env(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1963, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1963, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.env", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1963, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 1963, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_237env, 0, __pyx_n_s_env, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__283)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1963, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_env, __pyx_t_40) < 0) __PYX_ERR(0, 1963, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__283 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_env, 1963, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__283)) __PYX_ERR(0, 1963, __pyx_L1_error)
1964: """
1965: next sample from envelope generator
1966:
1967: :param gen: env gen
1968: :return: env output
1969: :rtype: float
1970:
1971: """
+1972: return cclm.mus_env(gen._ptr)
__pyx_r = mus_env(__pyx_v_gen->_ptr); goto __pyx_L0;
1973:
+1974: cpdef bint is_env(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_239is_env(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_env(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_env", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_239is_env(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_238is_env, "\n returns true if gen is an env\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_239is_env = {"is_env", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_239is_env, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_238is_env};
static PyObject *__pyx_pw_8pysndlib_3clm_239is_env(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_env (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1974, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_env") < 0)) __PYX_ERR(0, 1974, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_env", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 1974, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_env", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 1974, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_238is_env(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_238is_env(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_env", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_env(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1974, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1974, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_env", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1974, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 1974, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_239is_env, 0, __pyx_n_s_is_env, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__284)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1974, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_env, __pyx_t_37) < 0) __PYX_ERR(0, 1974, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__284 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_env, 1974, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__284)) __PYX_ERR(0, 1974, __pyx_L1_error)
1975: """
1976: returns true if gen is an env
1977: :param gen: gen
1978: :return: result
1979: :rtype: bool
1980: """
+1981: return cclm.mus_is_env(gen._ptr)
__pyx_r = mus_is_env(__pyx_v_gen->_ptr); goto __pyx_L0;
1982:
+1983: cpdef cython.double env_interp(x: cython.double, env: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_241env_interp(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_env_interp(double __pyx_v_x, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_env, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("env_interp", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_241env_interp(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_240env_interp, "\n value of envelope env at x\n\n :param x: location in envelope\n :param env: env gen\n :return: env output\n :rtype: float\n\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_241env_interp = {"env_interp", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_241env_interp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_240env_interp};
static PyObject *__pyx_pw_8pysndlib_3clm_241env_interp(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_x;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_env = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("env_interp (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_env,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1983, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_env)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1983, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("env_interp", 1, 2, 2, 1); __PYX_ERR(0, 1983, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "env_interp") < 0)) __PYX_ERR(0, 1983, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1983, __pyx_L3_error)
__pyx_v_env = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[1]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("env_interp", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1983, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.env_interp", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_env), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "env", 0))) __PYX_ERR(0, 1983, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_240env_interp(__pyx_self, __pyx_v_x, __pyx_v_env);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_240env_interp(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_x, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_env) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("env_interp", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_env_interp(__pyx_v_x, __pyx_v_env, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1983, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1983, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.env_interp", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__285 = PyTuple_Pack(2, __pyx_n_s_x, __pyx_n_s_env); if (unlikely(!__pyx_tuple__285)) __PYX_ERR(0, 1983, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__285);
__Pyx_GIVEREF(__pyx_tuple__285);
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1983, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_x, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1983, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_env, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 1983, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_241env_interp, 0, __pyx_n_s_env_interp, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__286)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1983, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_env_interp, __pyx_t_40) < 0) __PYX_ERR(0, 1983, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__286 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__285, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_env_interp, 1983, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__286)) __PYX_ERR(0, 1983, __pyx_L1_error)
1984: """
1985: value of envelope env at x
1986:
1987: :param x: location in envelope
1988: :param env: env gen
1989: :return: env output
1990: :rtype: float
1991:
1992: """
+1993: return cclm.mus_env_interp(x, env._ptr)
__pyx_r = mus_env_interp(__pyx_v_x, __pyx_v_env->_ptr); goto __pyx_L0;
1994:
+1995: cpdef cython.double envelope_interp(x: cython.double, env: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_243envelope_interp(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_envelope_interp(double __pyx_v_x, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_env, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("envelope_interp", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_243envelope_interp(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_242envelope_interp, "\n value of envelope env at x\n\n :param x: location in envelope\n :param env: env gen\n :return: env output\n :rtype: float\n\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_243envelope_interp = {"envelope_interp", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_243envelope_interp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_242envelope_interp};
static PyObject *__pyx_pw_8pysndlib_3clm_243envelope_interp(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_x;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_env = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("envelope_interp (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_env,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1995, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_env)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1995, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("envelope_interp", 1, 2, 2, 1); __PYX_ERR(0, 1995, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "envelope_interp") < 0)) __PYX_ERR(0, 1995, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1995, __pyx_L3_error)
__pyx_v_env = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[1]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("envelope_interp", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1995, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.envelope_interp", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_env), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "env", 0))) __PYX_ERR(0, 1995, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_242envelope_interp(__pyx_self, __pyx_v_x, __pyx_v_env);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_242envelope_interp(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_x, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_env) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("envelope_interp", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_envelope_interp(__pyx_v_x, __pyx_v_env, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1995, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1995, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.envelope_interp", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1995, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_x, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 1995, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_env, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 1995, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_243envelope_interp, 0, __pyx_n_s_envelope_interp, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__287)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 1995, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_envelope_interp, __pyx_t_37) < 0) __PYX_ERR(0, 1995, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__287 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__285, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_envelope_interp, 1995, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__287)) __PYX_ERR(0, 1995, __pyx_L1_error)
1996: """
1997: value of envelope env at x
1998:
1999: :param x: location in envelope
2000: :param env: env gen
2001: :return: env output
2002: :rtype: float
2003:
2004: """
+2005: return cclm.mus_env_interp(x, env._ptr)
__pyx_r = mus_env_interp(__pyx_v_x, __pyx_v_env->_ptr); goto __pyx_L0;
2006:
2007: # this is slow because of needing ctypes to define function at runtime
2008: # but no other way to do it with cython without changing sndlib code
+2009: cpdef cython.double env_any(gen: mus_any, connection_function):
static PyObject *__pyx_pw_8pysndlib_3clm_245env_any(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_env_any(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_connection_function, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyObject *__pyx_v_f = NULL;
connect_points_cb __pyx_v_cy_f_ptr;
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("env_any", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.env_any", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_f);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_245env_any(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_244env_any, "\n generate env output using conncection_func to 'connect the dots'.\n the env-any connecting function takes one argument, the current envelope value treated as going between 0.0 and 1.0 between each two points. \n\n :param env: env gen\n :param connection_function: function used to connect points\n :return: env output\n :rtype: float\n\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_245env_any = {"env_any", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_245env_any, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_244env_any};
static PyObject *__pyx_pw_8pysndlib_3clm_245env_any(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_connection_function = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("env_any (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_connection_function,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2009, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_connection_function)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2009, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("env_any", 1, 2, 2, 1); __PYX_ERR(0, 2009, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "env_any") < 0)) __PYX_ERR(0, 2009, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_connection_function = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("env_any", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2009, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.env_any", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2009, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_244env_any(__pyx_self, __pyx_v_gen, __pyx_v_connection_function);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_244env_any(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_connection_function) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("env_any", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_env_any(__pyx_v_gen, __pyx_v_connection_function, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2009, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2009, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.env_any", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__288 = PyTuple_Pack(2, __pyx_n_s_gen, __pyx_n_s_connection_function); if (unlikely(!__pyx_tuple__288)) __PYX_ERR(0, 2009, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__288);
__Pyx_GIVEREF(__pyx_tuple__288);
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2009, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2009, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_245env_any, 0, __pyx_n_s_env_any, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__289)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2009, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_env_any, __pyx_t_40) < 0) __PYX_ERR(0, 2009, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__289 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__288, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_env_any, 2009, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__289)) __PYX_ERR(0, 2009, __pyx_L1_error)
2010: """
2011: generate env output using conncection_func to 'connect the dots'.
2012: the env-any connecting function takes one argument, the current envelope value treated as going between 0.0 and 1.0 between each two points.
2013:
2014: :param env: env gen
2015: :param connection_function: function used to connect points
2016: :return: env output
2017: :rtype: float
2018:
2019: """
2020:
+2021: f = ENVFUNCTION(connection_function)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ENVFUNCTION); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_connection_function}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __pyx_v_f = __pyx_t_1; __pyx_t_1 = 0;
+2022: cdef cclm.connect_points_cb cy_f_ptr = (<cclm.connect_points_cb*><size_t>ctypes.addressof(f))[0]
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2022, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_addressof); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2022, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_f}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2022, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_t_5 = __Pyx_PyInt_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_5 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 2022, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_cy_f_ptr = (((connect_points_cb *)((size_t)__pyx_t_5))[0]);
+2023: return cclm.mus_env_any(gen._ptr, cy_f_ptr)
__pyx_r = mus_env_any(__pyx_v_gen->_ptr, __pyx_v_cy_f_ptr); goto __pyx_L0;
2024:
2025:
2026: # ---------------- pulsed-env ---------------- #
+2027: cpdef mus_any make_pulsed_env(envelope, duration: cython.double, frequency: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_247make_pulsed_env(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_pulsed_env(PyObject *__pyx_v_envelope, double __pyx_v_duration, double __pyx_v_frequency, CYTHON_UNUSED int __pyx_skip_dispatch) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_pl = NULL;
__Pyx_memviewslice __pyx_v_envelope_view = { 0, 0, { 0 }, { 0 }, { 0 } };
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_ge = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_pulsed_env", 0);
__Pyx_INCREF(__pyx_v_envelope);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_8, 1);
__Pyx_AddTraceback("pysndlib.clm.make_pulsed_env", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF((PyObject *)__pyx_v_pl);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_envelope_view, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_ge);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XDECREF(__pyx_v_envelope);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_247make_pulsed_env(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_246make_pulsed_env, "\n produces a repeating envelope. env sticks at its last value, but pulsed-env repeats it over and over. \n :param env: env gen\n :param duration: duration of envelope\n :param frequency: repetition rate in hz\n :return: env output\n :rtype: float\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_247make_pulsed_env = {"make_pulsed_env", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_247make_pulsed_env, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_246make_pulsed_env};
static PyObject *__pyx_pw_8pysndlib_3clm_247make_pulsed_env(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_envelope = 0;
double __pyx_v_duration;
double __pyx_v_frequency;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_pulsed_env (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_envelope,&__pyx_n_s_duration,&__pyx_n_s_frequency,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_envelope)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2027, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_duration)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2027, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_pulsed_env", 1, 3, 3, 1); __PYX_ERR(0, 2027, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frequency)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2027, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_pulsed_env", 1, 3, 3, 2); __PYX_ERR(0, 2027, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_pulsed_env") < 0)) __PYX_ERR(0, 2027, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_envelope = values[0];
__pyx_v_duration = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_duration == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2027, __pyx_L3_error)
__pyx_v_frequency = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_frequency == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2027, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_pulsed_env", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 2027, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_pulsed_env", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_246make_pulsed_env(__pyx_self, __pyx_v_envelope, __pyx_v_duration, __pyx_v_frequency);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_246make_pulsed_env(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_envelope, double __pyx_v_duration, double __pyx_v_frequency) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_pulsed_env", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_pulsed_env(__pyx_v_envelope, __pyx_v_duration, __pyx_v_frequency, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2027, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_pulsed_env", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__290 = PyTuple_Pack(3, __pyx_n_s_envelope, __pyx_n_s_duration, __pyx_n_s_frequency); if (unlikely(!__pyx_tuple__290)) __PYX_ERR(0, 2027, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__290);
__Pyx_GIVEREF(__pyx_tuple__290);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2027, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_duration, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2027, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_frequency, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2027, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_247make_pulsed_env, 0, __pyx_n_s_make_pulsed_env, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__291)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2027, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_pulsed_env, __pyx_t_37) < 0) __PYX_ERR(0, 2027, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__291 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__290, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_pulsed_env, 2027, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__291)) __PYX_ERR(0, 2027, __pyx_L1_error)
2028: """
2029: produces a repeating envelope. env sticks at its last value, but pulsed-env repeats it over and over.
2030: :param env: env gen
2031: :param duration: duration of envelope
2032: :param frequency: repetition rate in hz
2033: :return: env output
2034: :rtype: float
2035: """
+2036: if isinstance(envelope, list):
__pyx_t_1 = PyList_Check(__pyx_v_envelope);
if (__pyx_t_1) {
/* … */
}
+2037: envelope = np.array(envelope, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_envelope); __Pyx_GIVEREF(__pyx_v_envelope); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_envelope); __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_double); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_6) < 0) __PYX_ERR(0, 2037, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_envelope, __pyx_t_6); __pyx_t_6 = 0;
2038:
+2039: pl = mus_any.from_ptr(cclm.mus_make_pulse_train(frequency, 1.0, 0.0))
__pyx_t_6 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_pulse_train(__pyx_v_frequency, 1.0, 0.0), NULL)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_v_pl = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_6); __pyx_t_6 = 0;
2040:
+2041: check_ndim(envelope)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2041, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_envelope}; __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2041, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
2042:
+2043: cdef double [:] envelope_view = envelope
__pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_envelope, PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 2043, __pyx_L1_error) __pyx_v_envelope_view = __pyx_t_8; __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL;
2044:
+2045: ge = mus_any.from_ptr(cclm.mus_make_env(&envelope_view[0], len(envelope) // 2, 1.0, 0, 1.0, duration, 0, NULL))
__pyx_t_9 = 0;
__pyx_t_7 = -1;
if (__pyx_t_9 < 0) {
__pyx_t_9 += __pyx_v_envelope_view.shape[0];
if (unlikely(__pyx_t_9 < 0)) __pyx_t_7 = 0;
} else if (unlikely(__pyx_t_9 >= __pyx_v_envelope_view.shape[0])) __pyx_t_7 = 0;
if (unlikely(__pyx_t_7 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_7);
__PYX_ERR(0, 2045, __pyx_L1_error)
}
__pyx_t_10 = PyObject_Length(__pyx_v_envelope); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2045, __pyx_L1_error)
__pyx_t_6 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_env((&(*((double *) ( /* dim=0 */ (__pyx_v_envelope_view.data + __pyx_t_9 * __pyx_v_envelope_view.strides[0]) )))), __Pyx_div_Py_ssize_t(__pyx_t_10, 2), 1.0, 0.0, 1.0, __pyx_v_duration, 0, NULL), NULL)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2045, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_v_ge = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_6);
__pyx_t_6 = 0;
+2046: gen = mus_any.from_ptr(cclm.mus_make_pulsed_env(ge._ptr, pl._ptr))
__pyx_t_6 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_pulsed_env(__pyx_v_ge->_ptr, __pyx_v_pl->_ptr), NULL)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_6); __pyx_t_6 = 0;
+2047: gen.cache_extend([pl, ge, envelope])
__pyx_t_6 = PyList_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF((PyObject *)__pyx_v_pl); __Pyx_GIVEREF((PyObject *)__pyx_v_pl); PyList_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_pl)); __Pyx_INCREF((PyObject *)__pyx_v_ge); __Pyx_GIVEREF((PyObject *)__pyx_v_ge); PyList_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_ge)); __Pyx_INCREF(__pyx_v_envelope); __Pyx_GIVEREF(__pyx_v_envelope); PyList_SET_ITEM(__pyx_t_6, 2, __pyx_v_envelope); __pyx_t_4 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_extend(__pyx_v_gen, __pyx_t_6, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2048: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
2049:
+2050: cpdef cython.double pulsed_env(gen: mus_any, fm: Optional[cython.double]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_249pulsed_env(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_pulsed_env(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_pulsed_env *__pyx_optional_args) {
PyObject *__pyx_v_fm = ((PyObject *)Py_None);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("pulsed_env", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_fm = __pyx_optional_args->fm;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.pulsed_env", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_249pulsed_env(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_248pulsed_env, "\n next sample from envelope generator\n \n :param gen: env gen\n :param fm: change frequency of repetition\n :return: env output\n :rtype: float\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_249pulsed_env = {"pulsed_env", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_249pulsed_env, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_248pulsed_env};
static PyObject *__pyx_pw_8pysndlib_3clm_249pulsed_env(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_fm = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("pulsed_env (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_fm,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2050, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fm);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2050, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "pulsed_env") < 0)) __PYX_ERR(0, 2050, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_fm = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("pulsed_env", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 2050, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.pulsed_env", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2050, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_248pulsed_env(__pyx_self, __pyx_v_gen, __pyx_v_fm);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_248pulsed_env(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_fm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("pulsed_env", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.fm = __pyx_v_fm;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_pulsed_env(__pyx_v_gen, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2050, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2050, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.pulsed_env", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__292 = PyTuple_Pack(2, __pyx_n_s_gen, __pyx_n_s_fm); if (unlikely(!__pyx_tuple__292)) __PYX_ERR(0, 2050, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__292);
__Pyx_GIVEREF(__pyx_tuple__292);
__pyx_codeobj__293 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__292, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_pulsed_env, 2050, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__293)) __PYX_ERR(0, 2050, __pyx_L1_error)
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2050, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2050, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_fm, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2050, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_249pulsed_env, 0, __pyx_n_s_pulsed_env, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__293)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2050, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_pulsed_env, __pyx_t_40) < 0) __PYX_ERR(0, 2050, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_tuple__294 = PyTuple_Pack(1, Py_None); if (unlikely(!__pyx_tuple__294)) __PYX_ERR(0, 2050, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__294);
__Pyx_GIVEREF(__pyx_tuple__294);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_pulsed_env {
int __pyx_n;
PyObject *fm;
};
2051: """
2052: next sample from envelope generator
2053:
2054: :param gen: env gen
2055: :param fm: change frequency of repetition
2056: :return: env output
2057: :rtype: float
2058:
2059: """
+2060: if(fm):
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_fm); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 2060, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+2061: return cclm.mus_pulsed_env(gen._ptr, fm)
__pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_fm); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2061, __pyx_L1_error) __pyx_r = mus_pulsed_env(__pyx_v_gen->_ptr, __pyx_t_2); goto __pyx_L0;
2062: else:
+2063: return cclm.mus_pulsed_env_unmodulated(gen._ptr)
/*else*/ {
__pyx_r = mus_pulsed_env_unmodulated(__pyx_v_gen->_ptr);
goto __pyx_L0;
}
2064:
+2065: cpdef bint is_pulsedenv(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_251is_pulsedenv(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_pulsedenv(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_pulsedenv", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_251is_pulsedenv(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_250is_pulsedenv, "\n returns true if gen is a pulsed_env\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_251is_pulsedenv = {"is_pulsedenv", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_251is_pulsedenv, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_250is_pulsedenv};
static PyObject *__pyx_pw_8pysndlib_3clm_251is_pulsedenv(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_pulsedenv (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2065, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_pulsedenv") < 0)) __PYX_ERR(0, 2065, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_pulsedenv", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2065, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_pulsedenv", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2065, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_250is_pulsedenv(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_250is_pulsedenv(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_pulsedenv", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_pulsedenv(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2065, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2065, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_pulsedenv", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2065, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2065, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_251is_pulsedenv, 0, __pyx_n_s_is_pulsedenv, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__295)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2065, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_pulsedenv, __pyx_t_37) < 0) __PYX_ERR(0, 2065, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__295 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_pulsedenv, 2065, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__295)) __PYX_ERR(0, 2065, __pyx_L1_error)
2066: """
2067: returns true if gen is a pulsed_env
2068: :param gen: gen
2069: :return: result
2070: :rtype: bool
2071: """
+2072: return cclm.mus_is_pulsed_env(gen._ptr)
__pyx_r = mus_is_pulsed_env(__pyx_v_gen->_ptr); goto __pyx_L0;
2073:
2074: # todo envelope-interp different than env-interp
2075:
2076: # ---------------- table-lookup ---------------- #
+2077: cpdef mus_any make_table_lookup(frequency: Optional[cython.double]=0.0,
static PyObject *__pyx_pw_8pysndlib_3clm_253make_table_lookup(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_table_lookup(CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_table_lookup *__pyx_optional_args) {
PyObject *__pyx_v_frequency = ((PyObject *)__pyx_float_0_0);
PyObject *__pyx_v_initial_phase = ((PyObject *)__pyx_float_0_0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_8, 1);
__Pyx_AddTraceback("pysndlib.clm.make_table_lookup", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_wave_view, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XDECREF(__pyx_v_wave);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_253make_table_lookup(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_252make_table_lookup, "\n return a new table_lookup generator. the default table size is 512; use size to set some other size, or pass your own list/array as the 'wave'.\n\n :param frequency: frequency of gen in hz\n :param initial_phase: initial phase of gen in radians\n :param wave: np.ndarray if provided is waveform\n :param size: if no wave provided, this will allocate a table of size \n :param interp_type: type of interpolation used\n :return: table_lookup gen\n :rtype: mus_any\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_253make_table_lookup = {"make_table_lookup", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_253make_table_lookup, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_252make_table_lookup};
static PyObject *__pyx_pw_8pysndlib_3clm_253make_table_lookup(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_frequency = 0;
PyObject *__pyx_v_initial_phase = 0;
PyObject *__pyx_v_wave = 0;
PyObject *__pyx_v_size = 0;
PyObject *__pyx_v_interp_type = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_table_lookup (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frequency,&__pyx_n_s_initial_phase,&__pyx_n_s_wave,&__pyx_n_s_size,&__pyx_n_s_interp_type,0};
PyObject* values[5] = {0,0,0,0,0};
values[0] = ((PyObject *)__pyx_float_0_0);
values[1] = ((PyObject *)__pyx_float_0_0);
/* … */
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_252make_table_lookup(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_frequency, PyObject *__pyx_v_initial_phase, PyObject *__pyx_v_wave, PyObject *__pyx_v_size, PyObject *__pyx_v_interp_type) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_table_lookup", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 5;
__pyx_t_2.frequency = __pyx_v_frequency;
__pyx_t_2.initial_phase = __pyx_v_initial_phase;
__pyx_t_2.wave = __pyx_v_wave;
__pyx_t_2.size = __pyx_v_size;
__pyx_t_2.interp_type = __pyx_v_interp_type;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_table_lookup(0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2077, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_table_lookup", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__296 = PyTuple_Pack(5, __pyx_n_s_frequency, __pyx_n_s_initial_phase, __pyx_n_s_wave, __pyx_n_s_size, __pyx_n_s_interp_type); if (unlikely(!__pyx_tuple__296)) __PYX_ERR(0, 2077, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__296);
__Pyx_GIVEREF(__pyx_tuple__296);
/* … */
__pyx_t_40 = PyTuple_New(5); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2077, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_INCREF(__pyx_float_0_0);
__Pyx_GIVEREF(__pyx_float_0_0);
PyTuple_SET_ITEM(__pyx_t_40, 0, __pyx_float_0_0);
__Pyx_INCREF(__pyx_float_0_0);
__Pyx_GIVEREF(__pyx_float_0_0);
PyTuple_SET_ITEM(__pyx_t_40, 1, __pyx_float_0_0);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_40, 2, Py_None);
__Pyx_INCREF(__pyx_int_512);
__Pyx_GIVEREF(__pyx_int_512);
PyTuple_SET_ITEM(__pyx_t_40, 3, __pyx_int_512);
__Pyx_GIVEREF(__pyx_t_37);
PyTuple_SET_ITEM(__pyx_t_40, 4, __pyx_t_37);
__pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2077, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_frequency, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2077, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_initial_phase, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2077, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_size, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 2077, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_interp_type, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 2077, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_253make_table_lookup, 0, __pyx_n_s_make_table_lookup, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__297)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2077, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_table_lookup, __pyx_t_41) < 0) __PYX_ERR(0, 2077, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__297 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__296, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_table_lookup, 2077, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__297)) __PYX_ERR(0, 2077, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_table_lookup {
int __pyx_n;
PyObject *frequency;
PyObject *initial_phase;
PyObject *wave;
PyObject *size;
PyObject *interp_type;
};
2078: initial_phase: Optional[cython.double]=0.0,
+2079: wave=None,
PyObject *__pyx_v_wave = ((PyObject *)Py_None);
PyObject *__pyx_v_size = ((PyObject *)__pyx_int_512);
PyObject *__pyx_v_interp_type = __pyx_k__20;
__Pyx_memviewslice __pyx_v_wave_view = { 0, 0, { 0 }, { 0 }, { 0 } };
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_table_lookup", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_frequency = __pyx_optional_args->frequency;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_initial_phase = __pyx_optional_args->initial_phase;
if (__pyx_optional_args->__pyx_n > 2) {
__pyx_v_wave = __pyx_optional_args->wave;
if (__pyx_optional_args->__pyx_n > 3) {
__pyx_v_size = __pyx_optional_args->size;
if (__pyx_optional_args->__pyx_n > 4) {
__pyx_v_interp_type = __pyx_optional_args->interp_type;
}
}
}
}
}
}
__Pyx_INCREF(__pyx_v_wave);
/* … */
values[2] = ((PyObject *)Py_None);
values[3] = ((PyObject *)__pyx_int_512);
values[4] = __pyx_k__20;
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frequency);
if (value) { values[0] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2077, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_initial_phase);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2077, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_wave);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2077, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2077, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_interp_type);
if (value) { values[4] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2077, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_table_lookup") < 0)) __PYX_ERR(0, 2077, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_frequency = values[0];
__pyx_v_initial_phase = values[1];
__pyx_v_wave = values[2];
__pyx_v_size = values[3];
__pyx_v_interp_type = values[4];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_table_lookup", 0, 0, 5, __pyx_nargs); __PYX_ERR(0, 2077, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_table_lookup", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_252make_table_lookup(__pyx_self, __pyx_v_frequency, __pyx_v_initial_phase, __pyx_v_wave, __pyx_v_size, __pyx_v_interp_type);
2080: size: Optional[int]=512,
+2081: interp_type: Optional[int]=Interp.LINEAR):
__pyx_t_37 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_LINEAR); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2081, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __pyx_k__20 = __pyx_t_37; __Pyx_GIVEREF(__pyx_t_37); __pyx_t_37 = 0; /* … */ __pyx_t_37 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_LINEAR); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2081, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37);
2082: """
2083: return a new table_lookup generator. the default table size is 512; use size to set some other size, or pass your own list/array as the 'wave'.
2084:
2085: :param frequency: frequency of gen in hz
2086: :param initial_phase: initial phase of gen in radians
2087: :param wave: np.ndarray if provided is waveform
2088: :param size: if no wave provided, this will allocate a table of size
2089: :param interp_type: type of interpolation used
2090: :return: table_lookup gen
2091: :rtype: mus_any
2092: """
2093:
+2094: if wave is None:
__pyx_t_1 = (__pyx_v_wave == Py_None);
if (__pyx_t_1) {
/* … */
}
+2095: wave = np.zeros(size)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2095, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2095, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_size}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2095, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF_SET(__pyx_v_wave, __pyx_t_2); __pyx_t_2 = 0;
2096:
+2097: if isinstance(wave, list):
__pyx_t_1 = PyList_Check(__pyx_v_wave);
if (__pyx_t_1) {
/* … */
}
+2098: wave = np.array(wave, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_wave); __Pyx_GIVEREF(__pyx_v_wave); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_wave); __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_double); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_7) < 0) __PYX_ERR(0, 2098, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_wave, __pyx_t_7); __pyx_t_7 = 0;
2099:
+2100: check_ndim(wave)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_wave}; __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
2101:
+2102: cdef double [:] wave_view = wave
__pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_wave, PyBUF_WRITABLE); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 2102, __pyx_L1_error) __pyx_v_wave_view = __pyx_t_8; __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL;
2103:
+2104: gen = mus_any.from_ptr(cclm.mus_make_table_lookup(frequency, initial_phase, &wave_view[0], size, interp_type))
__pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_v_frequency); if (unlikely((__pyx_t_9 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2104, __pyx_L1_error) __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_v_initial_phase); if (unlikely((__pyx_t_10 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2104, __pyx_L1_error) __pyx_t_11 = 0; __pyx_t_5 = -1; if (__pyx_t_11 < 0) { __pyx_t_11 += __pyx_v_wave_view.shape[0]; if (unlikely(__pyx_t_11 < 0)) __pyx_t_5 = 0; } else if (unlikely(__pyx_t_11 >= __pyx_v_wave_view.shape[0])) __pyx_t_5 = 0; if (unlikely(__pyx_t_5 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_5); __PYX_ERR(0, 2104, __pyx_L1_error) } __pyx_t_12 = __Pyx_PyInt_As_mus_long_t(__pyx_v_size); if (unlikely((__pyx_t_12 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2104, __pyx_L1_error) __pyx_t_13 = ((mus_interp_t)__Pyx_PyInt_As_mus_interp_t(__pyx_v_interp_type)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2104, __pyx_L1_error) __pyx_t_7 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_table_lookup(__pyx_t_9, __pyx_t_10, (&(*((double *) ( /* dim=0 */ (__pyx_v_wave_view.data + __pyx_t_11 * __pyx_v_wave_view.strides[0]) )))), __pyx_t_12, __pyx_t_13), NULL)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_7); __pyx_t_7 = 0;
+2105: gen.cache_append(wave)
__pyx_t_7 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_append(__pyx_v_gen, __pyx_v_wave, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2106: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
2107:
+2108: cpdef cython.double table_lookup(gen: mus_any, fm: Optional[float]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_255table_lookup(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_table_lookup(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_table_lookup *__pyx_optional_args) {
PyObject *__pyx_v_fm = ((PyObject *)Py_None);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("table_lookup", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_fm = __pyx_optional_args->fm;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.table_lookup", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_255table_lookup(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_254table_lookup, "\n return next sample from table_lookup generator\n \n :param gen: table_lookup gen\n :param fm: fm input\n :return: table_lookup output\n :rtype: float\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_255table_lookup = {"table_lookup", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_255table_lookup, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_254table_lookup};
static PyObject *__pyx_pw_8pysndlib_3clm_255table_lookup(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_fm = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("table_lookup (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_fm,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2108, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fm);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2108, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "table_lookup") < 0)) __PYX_ERR(0, 2108, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_fm = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("table_lookup", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 2108, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.table_lookup", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2108, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_254table_lookup(__pyx_self, __pyx_v_gen, __pyx_v_fm);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_254table_lookup(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_fm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("table_lookup", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.fm = __pyx_v_fm;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_table_lookup(__pyx_v_gen, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2108, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2108, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.table_lookup", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2108, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2108, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_fm, __pyx_kp_s_Optional_float) < 0) __PYX_ERR(0, 2108, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_255table_lookup, 0, __pyx_n_s_table_lookup, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__298)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2108, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_table_lookup, __pyx_t_37) < 0) __PYX_ERR(0, 2108, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__298 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__292, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_table_lookup, 2108, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__298)) __PYX_ERR(0, 2108, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_table_lookup {
int __pyx_n;
PyObject *fm;
};
2109: """
2110: return next sample from table_lookup generator
2111:
2112: :param gen: table_lookup gen
2113: :param fm: fm input
2114: :return: table_lookup output
2115: :rtype: float
2116:
2117: """
+2118: if fm:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_fm); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 2118, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+2119: return cclm.mus_table_lookup(gen._ptr, fm)
__pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_fm); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2119, __pyx_L1_error) __pyx_r = mus_table_lookup(__pyx_v_gen->_ptr, __pyx_t_2); goto __pyx_L0;
2120: else:
+2121: return cclm.mus_table_lookup_unmodulated(gen._ptr)
/*else*/ {
__pyx_r = mus_table_lookup_unmodulated(__pyx_v_gen->_ptr);
goto __pyx_L0;
}
2122:
+2123: cpdef bint is_table_lookup(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_257is_table_lookup(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_table_lookup(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_table_lookup", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_257is_table_lookup(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_256is_table_lookup, "\n returns true if gen is a table_lookup\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_257is_table_lookup = {"is_table_lookup", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_257is_table_lookup, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_256is_table_lookup};
static PyObject *__pyx_pw_8pysndlib_3clm_257is_table_lookup(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_table_lookup (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2123, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_table_lookup") < 0)) __PYX_ERR(0, 2123, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_table_lookup", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2123, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_table_lookup", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2123, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_256is_table_lookup(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_256is_table_lookup(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_table_lookup", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_table_lookup(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2123, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_table_lookup", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2123, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_257is_table_lookup, 0, __pyx_n_s_is_table_lookup, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__299)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_table_lookup, __pyx_t_41) < 0) __PYX_ERR(0, 2123, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__299 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_table_lookup, 2123, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__299)) __PYX_ERR(0, 2123, __pyx_L1_error)
2124: """
2125: returns true if gen is a table_lookup
2126: :param gen: gen
2127: :return: result
2128: :rtype: bool
2129: """
+2130: return cclm.mus_is_table_lookup(gen._ptr)
__pyx_r = mus_is_table_lookup(__pyx_v_gen->_ptr); goto __pyx_L0;
2131:
2132: # todo make-table-lookup-with-env
2133:
2134:
2135:
2136: # ---------------- polywave ---------------- #
+2137: cpdef mus_any make_polywave(frequency: cython.double,
static PyObject *__pyx_pw_8pysndlib_3clm_259make_polywave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_polywave(double __pyx_v_frequency, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_polywave *__pyx_optional_args) {
PyObject *__pyx_v_partials = __pyx_k__21;
PyObject *__pyx_v_kind = __pyx_k__22;
/* … */
/* function exit code */
__pyx_L1_error:;
__PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_AddTraceback("pysndlib.clm.make_polywave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_xcoeffs_view, 1);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_ycoeffs_view, 1);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_prtls_view, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XDECREF(__pyx_v_prtls);
__Pyx_XDECREF(__pyx_v_xcoeffs);
__Pyx_XDECREF(__pyx_v_ycoeffs);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_259make_polywave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_258make_polywave, "\n return a new polynomial-based waveshaping generator. make_polywave(440.0, partials=[1.0,1.0]) is the same in effect as make_oscil\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_259make_polywave = {"make_polywave", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_259make_polywave, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_258make_polywave};
static PyObject *__pyx_pw_8pysndlib_3clm_259make_polywave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_frequency;
PyObject *__pyx_v_partials = 0;
PyObject *__pyx_v_kind = 0;
PyObject *__pyx_v_xcoeffs = 0;
PyObject *__pyx_v_ycoeffs = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_polywave (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frequency,&__pyx_n_s_partials,&__pyx_n_s_kind,&__pyx_n_s_xcoeffs,&__pyx_n_s_ycoeffs,0};
PyObject* values[5] = {0,0,0,0,0};
values[1] = __pyx_k__21;
values[2] = __pyx_k__22;
/* … */
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_258make_polywave(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_frequency, PyObject *__pyx_v_partials, PyObject *__pyx_v_kind, PyObject *__pyx_v_xcoeffs, PyObject *__pyx_v_ycoeffs) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_polywave", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 4;
__pyx_t_2.partials = __pyx_v_partials;
__pyx_t_2.kind = __pyx_v_kind;
__pyx_t_2.xcoeffs = __pyx_v_xcoeffs;
__pyx_t_2.ycoeffs = __pyx_v_ycoeffs;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_polywave(__pyx_v_frequency, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2137, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_polywave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__300 = PyTuple_Pack(5, __pyx_n_s_frequency, __pyx_n_s_partials, __pyx_n_s_kind, __pyx_n_s_xcoeffs, __pyx_n_s_ycoeffs); if (unlikely(!__pyx_tuple__300)) __PYX_ERR(0, 2137, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__300);
__Pyx_GIVEREF(__pyx_tuple__300);
/* … */
__pyx_t_40 = PyTuple_New(4); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2137, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_GIVEREF(__pyx_t_41);
PyTuple_SET_ITEM(__pyx_t_40, 0, __pyx_t_41);
__Pyx_GIVEREF(__pyx_t_37);
PyTuple_SET_ITEM(__pyx_t_40, 1, __pyx_t_37);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_40, 2, Py_None);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_40, 3, Py_None);
__pyx_t_41 = 0;
__pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2137, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_frequency, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2137, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_kind, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 2137, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_259make_polywave, 0, __pyx_n_s_make_polywave, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__301)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2137, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_polywave, __pyx_t_41) < 0) __PYX_ERR(0, 2137, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__301 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__300, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_polywave, 2137, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__301)) __PYX_ERR(0, 2137, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_polywave {
int __pyx_n;
PyObject *partials;
PyObject *kind;
PyObject *xcoeffs;
PyObject *ycoeffs;
};
+2138: partials = [0.,1.],
__pyx_t_41 = PyList_New(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2138, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_INCREF(__pyx_float_0_); __Pyx_GIVEREF(__pyx_float_0_); PyList_SET_ITEM(__pyx_t_41, 0, __pyx_float_0_); __Pyx_INCREF(__pyx_float_1_); __Pyx_GIVEREF(__pyx_float_1_); PyList_SET_ITEM(__pyx_t_41, 1, __pyx_float_1_); __pyx_k__21 = __pyx_t_41; __Pyx_GIVEREF(__pyx_t_41); __pyx_t_41 = 0; /* … */ __pyx_t_41 = PyList_New(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2138, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_INCREF(__pyx_float_0_); __Pyx_GIVEREF(__pyx_float_0_); PyList_SET_ITEM(__pyx_t_41, 0, __pyx_float_0_); __Pyx_INCREF(__pyx_float_1_); __Pyx_GIVEREF(__pyx_float_1_); PyList_SET_ITEM(__pyx_t_41, 1, __pyx_float_1_);
+2139: kind: Optional[int]=Polynomial.FIRST_KIND,
__pyx_t_41 = __Pyx_Enum_Polynomial_to_py(__pyx_e_8pysndlib_3clm_FIRST_KIND); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_k__22 = __pyx_t_41; __Pyx_GIVEREF(__pyx_t_41); __pyx_t_41 = 0; /* … */ __pyx_t_37 = __Pyx_Enum_Polynomial_to_py(__pyx_e_8pysndlib_3clm_FIRST_KIND); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37);
+2140: xcoeffs = None,
PyObject *__pyx_v_xcoeffs = ((PyObject *)Py_None);
/* … */
values[3] = ((PyObject *)Py_None);
+2141: ycoeffs = None):
PyObject *__pyx_v_ycoeffs = ((PyObject *)Py_None);
__Pyx_memviewslice __pyx_v_xcoeffs_view = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_ycoeffs_view = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_prtls_view = { 0, 0, { 0 }, { 0 }, { 0 } };
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
PyObject *__pyx_v_prtls = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_polywave", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_partials = __pyx_optional_args->partials;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_kind = __pyx_optional_args->kind;
if (__pyx_optional_args->__pyx_n > 2) {
__pyx_v_xcoeffs = __pyx_optional_args->xcoeffs;
if (__pyx_optional_args->__pyx_n > 3) {
__pyx_v_ycoeffs = __pyx_optional_args->ycoeffs;
}
}
}
}
}
__Pyx_INCREF(__pyx_v_xcoeffs);
__Pyx_INCREF(__pyx_v_ycoeffs);
/* … */
values[4] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frequency)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2137, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_partials);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2137, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_kind);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2137, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_xcoeffs);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2137, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ycoeffs);
if (value) { values[4] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2137, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_polywave") < 0)) __PYX_ERR(0, 2137, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_frequency = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_frequency == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2137, __pyx_L3_error)
__pyx_v_partials = values[1];
__pyx_v_kind = values[2];
__pyx_v_xcoeffs = values[3];
__pyx_v_ycoeffs = values[4];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_polywave", 0, 1, 5, __pyx_nargs); __PYX_ERR(0, 2137, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_polywave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_258make_polywave(__pyx_self, __pyx_v_frequency, __pyx_v_partials, __pyx_v_kind, __pyx_v_xcoeffs, __pyx_v_ycoeffs);
2142: """
2143: return a new polynomial-based waveshaping generator. make_polywave(440.0, partials=[1.0,1.0]) is the same in effect as make_oscil
2144: """
+2145: cdef double [:] xcoeffs_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2145, __pyx_L1_error) __pyx_v_xcoeffs_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
+2146: cdef double [:] ycoeffs_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2146, __pyx_L1_error) __pyx_v_ycoeffs_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
+2147: cdef double [:] prtls_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2147, __pyx_L1_error) __pyx_v_prtls_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
2148:
+2149: if(isinstance(xcoeffs, np.ndarray | list) ) and (isinstance(ycoeffs, np.ndarray | list)): # should check they are same length
__pyx_t_3 = PyNumber_Or(((PyObject *)__pyx_ptype_5numpy_ndarray), ((PyObject *)(&PyList_Type))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2149, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_3); __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_xcoeffs, __pyx_t_3); __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_4) { } else { __pyx_t_2 = __pyx_t_4; goto __pyx_L4_bool_binop_done; } __pyx_t_3 = PyNumber_Or(((PyObject *)__pyx_ptype_5numpy_ndarray), ((PyObject *)(&PyList_Type))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2149, __pyx_L1_error) __Pyx_GOTREF((PyObject *)__pyx_t_3); __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_ycoeffs, __pyx_t_3); __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0; __pyx_t_2 = __pyx_t_4; __pyx_L4_bool_binop_done:; if (__pyx_t_2) { /* … */ }
+2150: xcoeffs = np.array(xcoeffs, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_xcoeffs); __Pyx_GIVEREF(__pyx_v_xcoeffs); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_xcoeffs); __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_double); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dtype, __pyx_t_8) < 0) __PYX_ERR(0, 2150, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF_SET(__pyx_v_xcoeffs, __pyx_t_8); __pyx_t_8 = 0;
+2151: xcoeffs_view = xcoeffs
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_xcoeffs, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2151, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_xcoeffs_view, 1); __pyx_v_xcoeffs_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
+2152: ycoeffs = np.array(ycoeffs, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_array); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(__pyx_v_ycoeffs); __Pyx_GIVEREF(__pyx_v_ycoeffs); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_ycoeffs); __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_double); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_7) < 0) __PYX_ERR(0, 2152, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_ycoeffs, __pyx_t_7); __pyx_t_7 = 0;
+2153: ycoeffs_view = ycoeffs
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_ycoeffs, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2153, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_ycoeffs_view, 1); __pyx_v_ycoeffs_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
+2154: check_ndim(xcoeffs)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = NULL; __pyx_t_9 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_9 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_xcoeffs}; __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2155: check_ndim(ycoeffs)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = NULL; __pyx_t_9 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_9 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_ycoeffs}; __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2156: compare_shapes(xcoeffs, ycoeffs)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_compare_shapes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = NULL; __pyx_t_9 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_9 = 1; } } { PyObject *__pyx_callargs[3] = {__pyx_t_8, __pyx_v_xcoeffs, __pyx_v_ycoeffs}; __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_9, 2+__pyx_t_9); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
2157:
+2158: gen = mus_any.from_ptr(cclm.mus_make_polywave_tu(frequency,&xcoeffs_view[0],&ycoeffs_view[0], len(xcoeffs)))
__pyx_t_10 = 0;
__pyx_t_9 = -1;
if (__pyx_t_10 < 0) {
__pyx_t_10 += __pyx_v_xcoeffs_view.shape[0];
if (unlikely(__pyx_t_10 < 0)) __pyx_t_9 = 0;
} else if (unlikely(__pyx_t_10 >= __pyx_v_xcoeffs_view.shape[0])) __pyx_t_9 = 0;
if (unlikely(__pyx_t_9 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_9);
__PYX_ERR(0, 2158, __pyx_L1_error)
}
__pyx_t_11 = 0;
__pyx_t_9 = -1;
if (__pyx_t_11 < 0) {
__pyx_t_11 += __pyx_v_ycoeffs_view.shape[0];
if (unlikely(__pyx_t_11 < 0)) __pyx_t_9 = 0;
} else if (unlikely(__pyx_t_11 >= __pyx_v_ycoeffs_view.shape[0])) __pyx_t_9 = 0;
if (unlikely(__pyx_t_9 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_9);
__PYX_ERR(0, 2158, __pyx_L1_error)
}
__pyx_t_12 = PyObject_Length(__pyx_v_xcoeffs); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2158, __pyx_L1_error)
__pyx_t_7 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_polywave_tu(__pyx_v_frequency, (&(*((double *) ( /* dim=0 */ (__pyx_v_xcoeffs_view.data + __pyx_t_10 * __pyx_v_xcoeffs_view.strides[0]) )))), (&(*((double *) ( /* dim=0 */ (__pyx_v_ycoeffs_view.data + __pyx_t_11 * __pyx_v_ycoeffs_view.strides[0]) )))), __pyx_t_12), NULL)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2158, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_7);
__pyx_t_7 = 0;
+2159: gen.cache_extend([xcoeffs, ycoeffs])
__pyx_t_7 = PyList_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_v_xcoeffs); __Pyx_GIVEREF(__pyx_v_xcoeffs); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_v_xcoeffs); __Pyx_INCREF(__pyx_v_ycoeffs); __Pyx_GIVEREF(__pyx_v_ycoeffs); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_v_ycoeffs); __pyx_t_3 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_extend(__pyx_v_gen, __pyx_t_7, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+2160: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
2161: else:
+2162: prtls = to_partials(partials)
/*else*/ {
__pyx_t_3 = ((PyObject *)__pyx_f_8pysndlib_3clm_to_partials(__pyx_v_partials, 0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2162, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_v_prtls = __pyx_t_3;
__pyx_t_3 = 0;
2163:
+2164: prtls = np.array(prtls, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_prtls); __Pyx_GIVEREF(__pyx_v_prtls); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_prtls); __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_double); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 2164, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF_SET(__pyx_v_prtls, __pyx_t_5); __pyx_t_5 = 0;
+2165: prtls_view = prtls
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_prtls, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2165, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_prtls_view, 1); __pyx_v_prtls_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
2166:
+2167: check_ndim(prtls)
__Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_3 = NULL; __pyx_t_9 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); __pyx_t_9 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_prtls}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
2168:
+2169: gen = mus_any.from_ptr(cclm.mus_make_polywave(frequency, &prtls_view[0], len(prtls), kind))
__pyx_t_11 = 0;
__pyx_t_9 = -1;
if (__pyx_t_11 < 0) {
__pyx_t_11 += __pyx_v_prtls_view.shape[0];
if (unlikely(__pyx_t_11 < 0)) __pyx_t_9 = 0;
} else if (unlikely(__pyx_t_11 >= __pyx_v_prtls_view.shape[0])) __pyx_t_9 = 0;
if (unlikely(__pyx_t_9 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_9);
__PYX_ERR(0, 2169, __pyx_L1_error)
}
__pyx_t_12 = PyObject_Length(__pyx_v_prtls); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2169, __pyx_L1_error)
__pyx_t_9 = __Pyx_PyInt_As_int(__pyx_v_kind); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2169, __pyx_L1_error)
__pyx_t_5 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_polywave(__pyx_v_frequency, (&(*((double *) ( /* dim=0 */ (__pyx_v_prtls_view.data + __pyx_t_11 * __pyx_v_prtls_view.strides[0]) )))), __pyx_t_12, __pyx_t_9), NULL)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2169, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_5);
__pyx_t_5 = 0;
+2170: gen.cache_extend([prtls, xcoeffs, ycoeffs])
__pyx_t_5 = PyList_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2170, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_prtls); __Pyx_GIVEREF(__pyx_v_prtls); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_v_prtls); __Pyx_INCREF(__pyx_v_xcoeffs); __Pyx_GIVEREF(__pyx_v_xcoeffs); PyList_SET_ITEM(__pyx_t_5, 1, __pyx_v_xcoeffs); __Pyx_INCREF(__pyx_v_ycoeffs); __Pyx_GIVEREF(__pyx_v_ycoeffs); PyList_SET_ITEM(__pyx_t_5, 2, __pyx_v_ycoeffs); __pyx_t_8 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_extend(__pyx_v_gen, __pyx_t_5, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2170, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+2171: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0; }
2172:
2173:
+2174: cpdef cython.double polywave(gen: mus_any, fm: Optional[float]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_261polywave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_polywave(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_polywave *__pyx_optional_args) {
PyObject *__pyx_v_fm = ((PyObject *)Py_None);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("polywave", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_fm = __pyx_optional_args->fm;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.polywave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_261polywave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_260polywave, "\n next sample of polywave waveshaper\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_261polywave = {"polywave", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_261polywave, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_260polywave};
static PyObject *__pyx_pw_8pysndlib_3clm_261polywave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_fm = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("polywave (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_fm,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2174, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fm);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2174, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "polywave") < 0)) __PYX_ERR(0, 2174, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_fm = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("polywave", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 2174, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.polywave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2174, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_260polywave(__pyx_self, __pyx_v_gen, __pyx_v_fm);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_260polywave(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_fm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("polywave", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.fm = __pyx_v_fm;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_polywave(__pyx_v_gen, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2174, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2174, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.polywave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2174, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2174, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_fm, __pyx_kp_s_Optional_float) < 0) __PYX_ERR(0, 2174, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_261polywave, 0, __pyx_n_s_polywave, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__302)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2174, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_polywave, __pyx_t_37) < 0) __PYX_ERR(0, 2174, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__302 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__292, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_polywave, 2174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__302)) __PYX_ERR(0, 2174, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_polywave {
int __pyx_n;
PyObject *fm;
};
2175: """
2176: next sample of polywave waveshaper
2177: """
+2178: if fm:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_fm); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 2178, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+2179: return cclm.mus_polywave(gen._ptr, fm)
__pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_fm); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2179, __pyx_L1_error) __pyx_r = mus_polywave(__pyx_v_gen->_ptr, __pyx_t_2); goto __pyx_L0;
2180: else:
+2181: return cclm.mus_polywave_unmodulated(gen._ptr)
/*else*/ {
__pyx_r = mus_polywave_unmodulated(__pyx_v_gen->_ptr);
goto __pyx_L0;
}
2182:
+2183: cpdef bint is_polywave(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_263is_polywave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_polywave(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_polywave", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_263is_polywave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_262is_polywave, "\n returns true if gen is a polywave\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_263is_polywave = {"is_polywave", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_263is_polywave, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_262is_polywave};
static PyObject *__pyx_pw_8pysndlib_3clm_263is_polywave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_polywave (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2183, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_polywave") < 0)) __PYX_ERR(0, 2183, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_polywave", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2183, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_polywave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2183, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_262is_polywave(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_262is_polywave(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_polywave", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_polywave(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2183, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2183, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_polywave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2183, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2183, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_263is_polywave, 0, __pyx_n_s_is_polywave, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__303)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2183, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_polywave, __pyx_t_41) < 0) __PYX_ERR(0, 2183, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__303 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_polywave, 2183, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__303)) __PYX_ERR(0, 2183, __pyx_L1_error)
2184: """
2185: returns true if gen is a polywave
2186: :param gen: gen
2187: :return: result
2188: :rtype: bool
2189: """
+2190: return cclm.mus_is_polywave(gen._ptr)
__pyx_r = mus_is_polywave(__pyx_v_gen->_ptr); goto __pyx_L0;
2191:
2192:
2193:
2194: # ---------------- polyshape ---------------- #
2195:
+2196: cpdef mus_any make_polyshape(frequency: cython.double,
static PyObject *__pyx_pw_8pysndlib_3clm_265make_polyshape(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_polyshape(double __pyx_v_frequency, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_polyshape *__pyx_optional_args) {
PyObject *__pyx_v_initial_phase = ((PyObject *)__pyx_float_0_0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_9, 1);
__Pyx_AddTraceback("pysndlib.clm.make_polyshape", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_data);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_data_view, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_265make_polyshape(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_264make_polyshape, "\n return a new polynomial-based waveshaping generator.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_265make_polyshape = {"make_polyshape", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_265make_polyshape, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_264make_polyshape};
static PyObject *__pyx_pw_8pysndlib_3clm_265make_polyshape(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_frequency;
PyObject *__pyx_v_initial_phase = 0;
PyObject *__pyx_v_coeffs = 0;
PyObject *__pyx_v_partials = 0;
PyObject *__pyx_v_kind = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_polyshape (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frequency,&__pyx_n_s_initial_phase,&__pyx_n_s_coeffs,&__pyx_n_s_partials,&__pyx_n_s_kind,0};
PyObject* values[5] = {0,0,0,0,0};
values[1] = ((PyObject *)__pyx_float_0_0);
/* … */
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_264make_polyshape(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_frequency, PyObject *__pyx_v_initial_phase, PyObject *__pyx_v_coeffs, PyObject *__pyx_v_partials, PyObject *__pyx_v_kind) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_polyshape", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 4;
__pyx_t_2.initial_phase = __pyx_v_initial_phase;
__pyx_t_2.coeffs = __pyx_v_coeffs;
__pyx_t_2.partials = __pyx_v_partials;
__pyx_t_2.kind = __pyx_v_kind;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_polyshape(__pyx_v_frequency, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2196, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_polyshape", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__304 = PyTuple_Pack(5, __pyx_n_s_frequency, __pyx_n_s_initial_phase, __pyx_n_s_coeffs, __pyx_n_s_partials, __pyx_n_s_kind); if (unlikely(!__pyx_tuple__304)) __PYX_ERR(0, 2196, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__304);
__Pyx_GIVEREF(__pyx_tuple__304);
/* … */
__pyx_t_40 = PyTuple_New(4); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2196, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_INCREF(__pyx_float_0_0);
__Pyx_GIVEREF(__pyx_float_0_0);
PyTuple_SET_ITEM(__pyx_t_40, 0, __pyx_float_0_0);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_40, 1, Py_None);
__Pyx_GIVEREF(__pyx_t_41);
PyTuple_SET_ITEM(__pyx_t_40, 2, __pyx_t_41);
__Pyx_GIVEREF(__pyx_t_37);
PyTuple_SET_ITEM(__pyx_t_40, 3, __pyx_t_37);
__pyx_t_41 = 0;
__pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2196, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_frequency, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2196, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_initial_phase, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2196, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_kind, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 2196, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_265make_polyshape, 0, __pyx_n_s_make_polyshape, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__305)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2196, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_polyshape, __pyx_t_41) < 0) __PYX_ERR(0, 2196, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__305 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__304, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_polyshape, 2196, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__305)) __PYX_ERR(0, 2196, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_polyshape {
int __pyx_n;
PyObject *initial_phase;
PyObject *coeffs;
PyObject *partials;
PyObject *kind;
};
2197: initial_phase: Optional[cython.double]=0.0,
+2198: coeffs=None,
PyObject *__pyx_v_coeffs = ((PyObject *)Py_None);
PyObject *__pyx_v_partials = __pyx_k__23;
PyObject *__pyx_v_kind = __pyx_k__24;
PyObject *__pyx_v_data = NULL;
__Pyx_memviewslice __pyx_v_data_view = { 0, 0, { 0 }, { 0 }, { 0 } };
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_polyshape", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_initial_phase = __pyx_optional_args->initial_phase;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_coeffs = __pyx_optional_args->coeffs;
if (__pyx_optional_args->__pyx_n > 2) {
__pyx_v_partials = __pyx_optional_args->partials;
if (__pyx_optional_args->__pyx_n > 3) {
__pyx_v_kind = __pyx_optional_args->kind;
}
}
}
}
}
/* … */
values[2] = ((PyObject *)Py_None);
values[3] = __pyx_k__23;
values[4] = __pyx_k__24;
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frequency)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2196, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_initial_phase);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2196, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_coeffs);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2196, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_partials);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2196, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_kind);
if (value) { values[4] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2196, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_polyshape") < 0)) __PYX_ERR(0, 2196, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_frequency = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_frequency == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2196, __pyx_L3_error)
__pyx_v_initial_phase = values[1];
__pyx_v_coeffs = values[2];
__pyx_v_partials = values[3];
__pyx_v_kind = values[4];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_polyshape", 0, 1, 5, __pyx_nargs); __PYX_ERR(0, 2196, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_polyshape", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_264make_polyshape(__pyx_self, __pyx_v_frequency, __pyx_v_initial_phase, __pyx_v_coeffs, __pyx_v_partials, __pyx_v_kind);
+2199: partials= [1.,1.],
__pyx_t_41 = PyList_New(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_INCREF(__pyx_float_1_); __Pyx_GIVEREF(__pyx_float_1_); PyList_SET_ITEM(__pyx_t_41, 0, __pyx_float_1_); __Pyx_INCREF(__pyx_float_1_); __Pyx_GIVEREF(__pyx_float_1_); PyList_SET_ITEM(__pyx_t_41, 1, __pyx_float_1_); __pyx_k__23 = __pyx_t_41; __Pyx_GIVEREF(__pyx_t_41); __pyx_t_41 = 0; /* … */ __pyx_t_41 = PyList_New(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_INCREF(__pyx_float_1_); __Pyx_GIVEREF(__pyx_float_1_); PyList_SET_ITEM(__pyx_t_41, 0, __pyx_float_1_); __Pyx_INCREF(__pyx_float_1_); __Pyx_GIVEREF(__pyx_float_1_); PyList_SET_ITEM(__pyx_t_41, 1, __pyx_float_1_);
+2200: kind: Optional[int]=Polynomial.FIRST_KIND):
__pyx_t_41 = __Pyx_Enum_Polynomial_to_py(__pyx_e_8pysndlib_3clm_FIRST_KIND); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_k__24 = __pyx_t_41; __Pyx_GIVEREF(__pyx_t_41); __pyx_t_41 = 0; /* … */ __pyx_t_37 = __Pyx_Enum_Polynomial_to_py(__pyx_e_8pysndlib_3clm_FIRST_KIND); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37);
2201:
2202: """
2203: return a new polynomial-based waveshaping generator.
2204: """
2205:
2206:
+2207: if coeffs:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_coeffs); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 2207, __pyx_L1_error) if (__pyx_t_1) { /* … */ goto __pyx_L3; }
+2208: if isinstance(coeffs, list):
__pyx_t_1 = PyList_Check(__pyx_v_coeffs);
if (__pyx_t_1) {
/* … */
goto __pyx_L4;
}
+2209: data = np.array(coeffs, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_coeffs); __Pyx_GIVEREF(__pyx_v_coeffs); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_coeffs); __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_double); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_6) < 0) __PYX_ERR(0, 2209, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_data = __pyx_t_6; __pyx_t_6 = 0;
2210: else:
+2211: data = coeffs
/*else*/ {
__Pyx_INCREF(__pyx_v_coeffs);
__pyx_v_data = __pyx_v_coeffs;
}
__pyx_L4:;
2212:
2213: else:
+2214: data = partials2polynomial(partials, kind)
/*else*/ {
__pyx_t_7.__pyx_n = 1;
__pyx_t_7.kind = __pyx_v_kind;
__pyx_t_6 = ((PyObject *)__pyx_f_8pysndlib_3clm_partials2polynomial(__pyx_v_partials, 0, &__pyx_t_7)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2214, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_v_data = __pyx_t_6;
__pyx_t_6 = 0;
}
__pyx_L3:;
2215:
+2216: check_ndim(data)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2216, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_8 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_data}; __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2216, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
2217:
+2218: cdef double [:] data_view = data
__pyx_t_9 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_data, PyBUF_WRITABLE); if (unlikely(!__pyx_t_9.memview)) __PYX_ERR(0, 2218, __pyx_L1_error) __pyx_v_data_view = __pyx_t_9; __pyx_t_9.memview = NULL; __pyx_t_9.data = NULL;
2219:
+2220: gen = mus_any.from_ptr(cclm.mus_make_polyshape(frequency, initial_phase, &data_view[0], len(data), kind))
__pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_v_initial_phase); if (unlikely((__pyx_t_10 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2220, __pyx_L1_error) __pyx_t_11 = 0; __pyx_t_8 = -1; if (__pyx_t_11 < 0) { __pyx_t_11 += __pyx_v_data_view.shape[0]; if (unlikely(__pyx_t_11 < 0)) __pyx_t_8 = 0; } else if (unlikely(__pyx_t_11 >= __pyx_v_data_view.shape[0])) __pyx_t_8 = 0; if (unlikely(__pyx_t_8 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_8); __PYX_ERR(0, 2220, __pyx_L1_error) } __pyx_t_12 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2220, __pyx_L1_error) __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_v_kind); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2220, __pyx_L1_error) __pyx_t_6 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_polyshape(__pyx_v_frequency, __pyx_t_10, (&(*((double *) ( /* dim=0 */ (__pyx_v_data_view.data + __pyx_t_11 * __pyx_v_data_view.strides[0]) )))), __pyx_t_12, __pyx_t_8), NULL)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2220, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_6); __pyx_t_6 = 0;
+2221: gen.cache_append(data)
__pyx_t_6 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_append(__pyx_v_gen, __pyx_v_data, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2221, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+2222: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
2223:
+2224: cpdef cython.double polyshape(gen: mus_any, index: Optional[float]=1.0, fm: Optional[float]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_267polyshape(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_polyshape(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_polyshape *__pyx_optional_args) {
PyObject *__pyx_v_index = ((PyObject *)__pyx_float_1_0);
PyObject *__pyx_v_fm = ((PyObject *)Py_None);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("polyshape", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_index = __pyx_optional_args->index;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_fm = __pyx_optional_args->fm;
}
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.polyshape", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_267polyshape(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_266polyshape, "\n next sample of polynomial-based waveshaper\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_267polyshape = {"polyshape", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_267polyshape, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_266polyshape};
static PyObject *__pyx_pw_8pysndlib_3clm_267polyshape(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_index = 0;
PyObject *__pyx_v_fm = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("polyshape (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_index,&__pyx_n_s_fm,0};
PyObject* values[3] = {0,0,0};
values[1] = ((PyObject *)__pyx_float_1_0);
values[2] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2224, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_index);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2224, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fm);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2224, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "polyshape") < 0)) __PYX_ERR(0, 2224, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_index = values[1];
__pyx_v_fm = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("polyshape", 0, 1, 3, __pyx_nargs); __PYX_ERR(0, 2224, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.polyshape", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2224, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_266polyshape(__pyx_self, __pyx_v_gen, __pyx_v_index, __pyx_v_fm);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_266polyshape(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_index, PyObject *__pyx_v_fm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("polyshape", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 2;
__pyx_t_2.index = __pyx_v_index;
__pyx_t_2.fm = __pyx_v_fm;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_polyshape(__pyx_v_gen, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2224, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2224, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.polyshape", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__306 = PyTuple_Pack(3, __pyx_n_s_gen, __pyx_n_s_index, __pyx_n_s_fm); if (unlikely(!__pyx_tuple__306)) __PYX_ERR(0, 2224, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__306);
__Pyx_GIVEREF(__pyx_tuple__306);
__pyx_codeobj__307 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__306, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_polyshape, 2224, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__307)) __PYX_ERR(0, 2224, __pyx_L1_error)
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2224, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2224, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_index, __pyx_kp_s_Optional_float) < 0) __PYX_ERR(0, 2224, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_fm, __pyx_kp_s_Optional_float) < 0) __PYX_ERR(0, 2224, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_267polyshape, 0, __pyx_n_s_polyshape, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__307)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2224, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__308);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_polyshape, __pyx_t_37) < 0) __PYX_ERR(0, 2224, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_tuple__308 = PyTuple_Pack(2, __pyx_float_1_0, Py_None); if (unlikely(!__pyx_tuple__308)) __PYX_ERR(0, 2224, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__308);
__Pyx_GIVEREF(__pyx_tuple__308);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_polyshape {
int __pyx_n;
PyObject *index;
PyObject *fm;
};
2225: """
2226: next sample of polynomial-based waveshaper
2227: """
+2228: if fm:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_fm); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 2228, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+2229: return cclm.mus_polyshape(gen._ptr, index, fm)
__pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_index); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2229, __pyx_L1_error) __pyx_t_3 = __pyx_PyFloat_AsDouble(__pyx_v_fm); if (unlikely((__pyx_t_3 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2229, __pyx_L1_error) __pyx_r = mus_polyshape(__pyx_v_gen->_ptr, __pyx_t_2, __pyx_t_3); goto __pyx_L0;
2230: else:
+2231: return cclm.mus_polyshape_unmodulated(gen._ptr, index)
/*else*/ {
__pyx_t_3 = __pyx_PyFloat_AsDouble(__pyx_v_index); if (unlikely((__pyx_t_3 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2231, __pyx_L1_error)
__pyx_r = mus_polyshape_unmodulated(__pyx_v_gen->_ptr, __pyx_t_3);
goto __pyx_L0;
}
2232:
+2233: cpdef bint is_polyshape(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_269is_polyshape(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_polyshape(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_polyshape", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_269is_polyshape(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_268is_polyshape, "\n returns true if gen is a polyshape\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_269is_polyshape = {"is_polyshape", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_269is_polyshape, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_268is_polyshape};
static PyObject *__pyx_pw_8pysndlib_3clm_269is_polyshape(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_polyshape (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2233, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_polyshape") < 0)) __PYX_ERR(0, 2233, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_polyshape", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2233, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_polyshape", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2233, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_268is_polyshape(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_268is_polyshape(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_polyshape", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_polyshape(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2233, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2233, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_polyshape", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2233, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2233, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_269is_polyshape, 0, __pyx_n_s_is_polyshape, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__309)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2233, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_polyshape, __pyx_t_41) < 0) __PYX_ERR(0, 2233, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__309 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_polyshape, 2233, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__309)) __PYX_ERR(0, 2233, __pyx_L1_error)
2234: """
2235: returns true if gen is a polyshape
2236: :param gen: gen
2237: :return: result
2238: :rtype: bool
2239: """
+2240: return cclm.mus_is_polyshape(gen._ptr)
__pyx_r = mus_is_polyshape(__pyx_v_gen->_ptr); goto __pyx_L0;
2241:
2242:
2243: # ---------------- triangle-wave ---------------- #
+2244: cpdef mus_any make_triangle_wave(frequency: cython.double, amplitude: Optional[cython.double]=1.0, phase: Optional[cython.double]=0.0):
static PyObject *__pyx_pw_8pysndlib_3clm_271make_triangle_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_triangle_wave(double __pyx_v_frequency, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_triangle_wave *__pyx_optional_args) {
PyObject *__pyx_v_amplitude = ((PyObject *)__pyx_float_1_0);
PyObject *__pyx_v_phase = ((PyObject *)__pyx_float_0_0);
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_triangle_wave", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_amplitude = __pyx_optional_args->amplitude;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_phase = __pyx_optional_args->phase;
}
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.make_triangle_wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_271make_triangle_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_270make_triangle_wave, "\n return a new triangle_wave generator.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_271make_triangle_wave = {"make_triangle_wave", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_271make_triangle_wave, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_270make_triangle_wave};
static PyObject *__pyx_pw_8pysndlib_3clm_271make_triangle_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_frequency;
PyObject *__pyx_v_amplitude = 0;
PyObject *__pyx_v_phase = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_triangle_wave (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frequency,&__pyx_n_s_amplitude,&__pyx_n_s_phase,0};
PyObject* values[3] = {0,0,0};
values[1] = ((PyObject *)__pyx_float_1_0);
values[2] = ((PyObject *)__pyx_float_0_0);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frequency)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2244, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_amplitude);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2244, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_phase);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2244, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_triangle_wave") < 0)) __PYX_ERR(0, 2244, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_frequency = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_frequency == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2244, __pyx_L3_error)
__pyx_v_amplitude = values[1];
__pyx_v_phase = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_triangle_wave", 0, 1, 3, __pyx_nargs); __PYX_ERR(0, 2244, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_triangle_wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_270make_triangle_wave(__pyx_self, __pyx_v_frequency, __pyx_v_amplitude, __pyx_v_phase);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_270make_triangle_wave(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_frequency, PyObject *__pyx_v_amplitude, PyObject *__pyx_v_phase) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_triangle_wave", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 2;
__pyx_t_2.amplitude = __pyx_v_amplitude;
__pyx_t_2.phase = __pyx_v_phase;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_triangle_wave(__pyx_v_frequency, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2244, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_triangle_wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__310 = PyTuple_Pack(3, __pyx_n_s_frequency, __pyx_n_s_amplitude, __pyx_n_s_phase); if (unlikely(!__pyx_tuple__310)) __PYX_ERR(0, 2244, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__310);
__Pyx_GIVEREF(__pyx_tuple__310);
__pyx_codeobj__311 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__310, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_triangle_wave, 2244, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__311)) __PYX_ERR(0, 2244, __pyx_L1_error)
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2244, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_frequency, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2244, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_amplitude, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2244, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_phase, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2244, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_271make_triangle_wave, 0, __pyx_n_s_make_triangle_wave, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__311)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2244, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__312);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_triangle_wave, __pyx_t_37) < 0) __PYX_ERR(0, 2244, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_tuple__312 = PyTuple_Pack(2, __pyx_float_1_0, __pyx_float_0_0); if (unlikely(!__pyx_tuple__312)) __PYX_ERR(0, 2244, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__312);
__Pyx_GIVEREF(__pyx_tuple__312);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_triangle_wave {
int __pyx_n;
PyObject *amplitude;
PyObject *phase;
};
2245: """
2246: return a new triangle_wave generator.
2247: """
+2248: return mus_any.from_ptr(cclm.mus_make_triangle_wave(frequency, amplitude, phase))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_amplitude); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2248, __pyx_L1_error) __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_phase); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2248, __pyx_L1_error) __pyx_t_3 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_triangle_wave(__pyx_v_frequency, __pyx_t_1, __pyx_t_2), NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L0;
2249:
+2250: cpdef cython.double triangle_wave(gen: mus_any, fm: Optional[cython.double]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_273triangle_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_triangle_wave(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_triangle_wave *__pyx_optional_args) {
PyObject *__pyx_v_fm = ((PyObject *)Py_None);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("triangle_wave", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_fm = __pyx_optional_args->fm;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.triangle_wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_273triangle_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_272triangle_wave, "\n next triangle wave sample from generator\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_273triangle_wave = {"triangle_wave", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_273triangle_wave, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_272triangle_wave};
static PyObject *__pyx_pw_8pysndlib_3clm_273triangle_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_fm = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("triangle_wave (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_fm,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2250, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fm);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2250, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "triangle_wave") < 0)) __PYX_ERR(0, 2250, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_fm = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("triangle_wave", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 2250, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.triangle_wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2250, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_272triangle_wave(__pyx_self, __pyx_v_gen, __pyx_v_fm);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_272triangle_wave(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_fm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("triangle_wave", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.fm = __pyx_v_fm;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_triangle_wave(__pyx_v_gen, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2250, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2250, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.triangle_wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2250, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2250, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_fm, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2250, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_273triangle_wave, 0, __pyx_n_s_triangle_wave, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__313)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2250, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_triangle_wave, __pyx_t_41) < 0) __PYX_ERR(0, 2250, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__313 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__292, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_triangle_wave, 2250, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__313)) __PYX_ERR(0, 2250, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_triangle_wave {
int __pyx_n;
PyObject *fm;
};
2251: """
2252: next triangle wave sample from generator
2253: """
+2254: if fm:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_fm); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 2254, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+2255: return cclm.mus_triangle_wave(gen._ptr, fm)
__pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_fm); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2255, __pyx_L1_error) __pyx_r = mus_triangle_wave(__pyx_v_gen->_ptr, __pyx_t_2); goto __pyx_L0;
2256: else:
+2257: return cclm.mus_triangle_wave_unmodulated(gen._ptr)
/*else*/ {
__pyx_r = mus_triangle_wave_unmodulated(__pyx_v_gen->_ptr);
goto __pyx_L0;
}
2258:
+2259: cpdef bint is_triangle_wave(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_275is_triangle_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_triangle_wave(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_triangle_wave", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_275is_triangle_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_274is_triangle_wave, "\n returns true if gen is a triangle_wave\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_275is_triangle_wave = {"is_triangle_wave", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_275is_triangle_wave, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_274is_triangle_wave};
static PyObject *__pyx_pw_8pysndlib_3clm_275is_triangle_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_triangle_wave (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2259, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_triangle_wave") < 0)) __PYX_ERR(0, 2259, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_triangle_wave", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2259, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_triangle_wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2259, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_274is_triangle_wave(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_274is_triangle_wave(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_triangle_wave", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_triangle_wave(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2259, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2259, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_triangle_wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2259, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2259, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_275is_triangle_wave, 0, __pyx_n_s_is_triangle_wave, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__314)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2259, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_triangle_wave, __pyx_t_37) < 0) __PYX_ERR(0, 2259, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__314 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_triangle_wave, 2259, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__314)) __PYX_ERR(0, 2259, __pyx_L1_error)
2260: """
2261: returns true if gen is a triangle_wave
2262: :param gen: gen
2263: :return: result
2264: :rtype: bool
2265: """
+2266: return cclm.mus_is_triangle_wave(gen._ptr)
__pyx_r = mus_is_triangle_wave(__pyx_v_gen->_ptr); goto __pyx_L0;
2267:
2268: # ---------------- square-wave ---------------- #
+2269: cpdef mus_any make_square_wave(frequency: cython.double, amplitude: Optional[cython.double]=1.0, phase: Optional[cython.double]=0.0):
static PyObject *__pyx_pw_8pysndlib_3clm_277make_square_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_square_wave(double __pyx_v_frequency, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_square_wave *__pyx_optional_args) {
PyObject *__pyx_v_amplitude = ((PyObject *)__pyx_float_1_0);
PyObject *__pyx_v_phase = ((PyObject *)__pyx_float_0_0);
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_square_wave", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_amplitude = __pyx_optional_args->amplitude;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_phase = __pyx_optional_args->phase;
}
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.make_square_wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_277make_square_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_276make_square_wave, "\n return a new square_wave generator.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_277make_square_wave = {"make_square_wave", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_277make_square_wave, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_276make_square_wave};
static PyObject *__pyx_pw_8pysndlib_3clm_277make_square_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_frequency;
PyObject *__pyx_v_amplitude = 0;
PyObject *__pyx_v_phase = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_square_wave (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frequency,&__pyx_n_s_amplitude,&__pyx_n_s_phase,0};
PyObject* values[3] = {0,0,0};
values[1] = ((PyObject *)__pyx_float_1_0);
values[2] = ((PyObject *)__pyx_float_0_0);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frequency)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2269, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_amplitude);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2269, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_phase);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2269, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_square_wave") < 0)) __PYX_ERR(0, 2269, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_frequency = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_frequency == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2269, __pyx_L3_error)
__pyx_v_amplitude = values[1];
__pyx_v_phase = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_square_wave", 0, 1, 3, __pyx_nargs); __PYX_ERR(0, 2269, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_square_wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_276make_square_wave(__pyx_self, __pyx_v_frequency, __pyx_v_amplitude, __pyx_v_phase);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_276make_square_wave(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_frequency, PyObject *__pyx_v_amplitude, PyObject *__pyx_v_phase) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_square_wave", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 2;
__pyx_t_2.amplitude = __pyx_v_amplitude;
__pyx_t_2.phase = __pyx_v_phase;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_square_wave(__pyx_v_frequency, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2269, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_square_wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_codeobj__315 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__310, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_square_wave, 2269, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__315)) __PYX_ERR(0, 2269, __pyx_L1_error)
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2269, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_frequency, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2269, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_amplitude, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2269, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_phase, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2269, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_277make_square_wave, 0, __pyx_n_s_make_square_wave, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__315)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2269, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_tuple__316);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_square_wave, __pyx_t_41) < 0) __PYX_ERR(0, 2269, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_tuple__316 = PyTuple_Pack(2, __pyx_float_1_0, __pyx_float_0_0); if (unlikely(!__pyx_tuple__316)) __PYX_ERR(0, 2269, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__316);
__Pyx_GIVEREF(__pyx_tuple__316);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_square_wave {
int __pyx_n;
PyObject *amplitude;
PyObject *phase;
};
2270: """
2271: return a new square_wave generator.
2272: """
+2273: return mus_any.from_ptr(cclm.mus_make_square_wave(frequency, amplitude, phase))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_amplitude); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2273, __pyx_L1_error) __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_phase); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2273, __pyx_L1_error) __pyx_t_3 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_square_wave(__pyx_v_frequency, __pyx_t_1, __pyx_t_2), NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L0;
2274:
+2275: cpdef cython.double square_wave(gen: mus_any, fm: cython.double=0.0):
static PyObject *__pyx_pw_8pysndlib_3clm_279square_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_square_wave(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_square_wave *__pyx_optional_args) {
double __pyx_v_fm = ((double)0.0);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("square_wave", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_fm = __pyx_optional_args->fm;
}
}
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_279square_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_278square_wave, "\n next square wave sample from generator\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_279square_wave = {"square_wave", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_279square_wave, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_278square_wave};
static PyObject *__pyx_pw_8pysndlib_3clm_279square_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_fm;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("square_wave (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_fm,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2275, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fm);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2275, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "square_wave") < 0)) __PYX_ERR(0, 2275, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
if (values[1]) {
__pyx_v_fm = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_fm == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2275, __pyx_L3_error)
} else {
__pyx_v_fm = ((double)0.0);
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("square_wave", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 2275, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.square_wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2275, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_278square_wave(__pyx_self, __pyx_v_gen, __pyx_v_fm);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_278square_wave(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_fm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("square_wave", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.fm = __pyx_v_fm;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_square_wave(__pyx_v_gen, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2275, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2275, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.square_wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_codeobj__317 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__292, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_square_wave, 2275, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__317)) __PYX_ERR(0, 2275, __pyx_L1_error)
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2275, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2275, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_fm, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2275, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_279square_wave, 0, __pyx_n_s_square_wave, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__317)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2275, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__318);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_square_wave, __pyx_t_37) < 0) __PYX_ERR(0, 2275, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_tuple__318 = PyTuple_Pack(1, __pyx_float_0_0); if (unlikely(!__pyx_tuple__318)) __PYX_ERR(0, 2275, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__318);
__Pyx_GIVEREF(__pyx_tuple__318);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_square_wave {
int __pyx_n;
double fm;
};
2276: """
2277: next square wave sample from generator
2278: """
+2279: return cclm.mus_square_wave(gen._ptr, fm)
__pyx_r = mus_square_wave(__pyx_v_gen->_ptr, __pyx_v_fm); goto __pyx_L0;
2280:
+2281: cpdef bint is_square_wave(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_281is_square_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_square_wave(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_square_wave", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_281is_square_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_280is_square_wave, "\n returns true if gen is a square_wave\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_281is_square_wave = {"is_square_wave", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_281is_square_wave, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_280is_square_wave};
static PyObject *__pyx_pw_8pysndlib_3clm_281is_square_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_square_wave (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2281, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_square_wave") < 0)) __PYX_ERR(0, 2281, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_square_wave", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2281, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_square_wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2281, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_280is_square_wave(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_280is_square_wave(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_square_wave", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_square_wave(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2281, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2281, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_square_wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2281, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2281, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_281is_square_wave, 0, __pyx_n_s_is_square_wave, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__319)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2281, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_square_wave, __pyx_t_41) < 0) __PYX_ERR(0, 2281, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__319 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_square_wave, 2281, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__319)) __PYX_ERR(0, 2281, __pyx_L1_error)
2282: """
2283: returns true if gen is a square_wave
2284: :param gen: gen
2285: :return: result
2286: :rtype: bool
2287: """
+2288: return cclm.mus_is_square_wave(gen._ptr)
__pyx_r = mus_is_square_wave(__pyx_v_gen->_ptr); goto __pyx_L0;
2289:
2290: # ---------------- sawtooth-wave ---------------- #
+2291: cpdef mus_any make_sawtooth_wave(frequency: cython.double, amplitude: Optional[cython.double]=1.0, phase: Optional[cython.double]=0.0):
static PyObject *__pyx_pw_8pysndlib_3clm_283make_sawtooth_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_sawtooth_wave(double __pyx_v_frequency, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_sawtooth_wave *__pyx_optional_args) {
PyObject *__pyx_v_amplitude = ((PyObject *)__pyx_float_1_0);
PyObject *__pyx_v_phase = ((PyObject *)__pyx_float_0_0);
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_sawtooth_wave", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_amplitude = __pyx_optional_args->amplitude;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_phase = __pyx_optional_args->phase;
}
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.make_sawtooth_wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_283make_sawtooth_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_282make_sawtooth_wave, "\n return a new sawtooth_wave generator.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_283make_sawtooth_wave = {"make_sawtooth_wave", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_283make_sawtooth_wave, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_282make_sawtooth_wave};
static PyObject *__pyx_pw_8pysndlib_3clm_283make_sawtooth_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_frequency;
PyObject *__pyx_v_amplitude = 0;
PyObject *__pyx_v_phase = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_sawtooth_wave (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frequency,&__pyx_n_s_amplitude,&__pyx_n_s_phase,0};
PyObject* values[3] = {0,0,0};
values[1] = ((PyObject *)__pyx_float_1_0);
values[2] = ((PyObject *)__pyx_float_0_0);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frequency)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2291, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_amplitude);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2291, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_phase);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2291, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_sawtooth_wave") < 0)) __PYX_ERR(0, 2291, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_frequency = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_frequency == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2291, __pyx_L3_error)
__pyx_v_amplitude = values[1];
__pyx_v_phase = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_sawtooth_wave", 0, 1, 3, __pyx_nargs); __PYX_ERR(0, 2291, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_sawtooth_wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_282make_sawtooth_wave(__pyx_self, __pyx_v_frequency, __pyx_v_amplitude, __pyx_v_phase);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_282make_sawtooth_wave(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_frequency, PyObject *__pyx_v_amplitude, PyObject *__pyx_v_phase) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_sawtooth_wave", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 2;
__pyx_t_2.amplitude = __pyx_v_amplitude;
__pyx_t_2.phase = __pyx_v_phase;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_sawtooth_wave(__pyx_v_frequency, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2291, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_sawtooth_wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_codeobj__320 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__310, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_sawtooth_wave, 2291, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__320)) __PYX_ERR(0, 2291, __pyx_L1_error)
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2291, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_frequency, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2291, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_amplitude, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2291, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_phase, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2291, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_283make_sawtooth_wave, 0, __pyx_n_s_make_sawtooth_wave, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__320)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2291, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__321);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_sawtooth_wave, __pyx_t_37) < 0) __PYX_ERR(0, 2291, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_tuple__321 = PyTuple_Pack(2, __pyx_float_1_0, __pyx_float_0_0); if (unlikely(!__pyx_tuple__321)) __PYX_ERR(0, 2291, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__321);
__Pyx_GIVEREF(__pyx_tuple__321);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_sawtooth_wave {
int __pyx_n;
PyObject *amplitude;
PyObject *phase;
};
2292: """
2293: return a new sawtooth_wave generator.
2294: """
+2295: return mus_any.from_ptr(cclm.mus_make_sawtooth_wave(frequency, amplitude, phase))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_amplitude); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2295, __pyx_L1_error) __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_phase); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2295, __pyx_L1_error) __pyx_t_3 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_sawtooth_wave(__pyx_v_frequency, __pyx_t_1, __pyx_t_2), NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L0;
2296:
+2297: cpdef cython.double sawtooth_wave(gen: mus_any, fm: cython.double=0.0):
static PyObject *__pyx_pw_8pysndlib_3clm_285sawtooth_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_sawtooth_wave(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_sawtooth_wave *__pyx_optional_args) {
double __pyx_v_fm = ((double)0.0);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("sawtooth_wave", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_fm = __pyx_optional_args->fm;
}
}
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_285sawtooth_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_284sawtooth_wave, "\n next sawtooth wave sample from generator\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_285sawtooth_wave = {"sawtooth_wave", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_285sawtooth_wave, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_284sawtooth_wave};
static PyObject *__pyx_pw_8pysndlib_3clm_285sawtooth_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_fm;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("sawtooth_wave (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_fm,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2297, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fm);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2297, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "sawtooth_wave") < 0)) __PYX_ERR(0, 2297, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
if (values[1]) {
__pyx_v_fm = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_fm == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2297, __pyx_L3_error)
} else {
__pyx_v_fm = ((double)0.0);
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("sawtooth_wave", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 2297, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.sawtooth_wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2297, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_284sawtooth_wave(__pyx_self, __pyx_v_gen, __pyx_v_fm);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_284sawtooth_wave(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_fm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("sawtooth_wave", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.fm = __pyx_v_fm;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_sawtooth_wave(__pyx_v_gen, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2297, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2297, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.sawtooth_wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_codeobj__322 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__292, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_sawtooth_wave, 2297, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__322)) __PYX_ERR(0, 2297, __pyx_L1_error)
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2297, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2297, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_fm, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2297, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_285sawtooth_wave, 0, __pyx_n_s_sawtooth_wave, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__322)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2297, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_tuple__323);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_sawtooth_wave, __pyx_t_41) < 0) __PYX_ERR(0, 2297, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_tuple__323 = PyTuple_Pack(1, __pyx_float_0_0); if (unlikely(!__pyx_tuple__323)) __PYX_ERR(0, 2297, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__323);
__Pyx_GIVEREF(__pyx_tuple__323);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_sawtooth_wave {
int __pyx_n;
double fm;
};
2298: """
2299: next sawtooth wave sample from generator
2300: """
+2301: return cclm.mus_sawtooth_wave(gen._ptr, fm)
__pyx_r = mus_sawtooth_wave(__pyx_v_gen->_ptr, __pyx_v_fm); goto __pyx_L0;
2302:
2303:
+2304: cpdef bint is_sawtooth_wave(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_287is_sawtooth_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_sawtooth_wave(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_sawtooth_wave", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_287is_sawtooth_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_286is_sawtooth_wave, "\n returns true if gen is a sawtooth_wave\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_287is_sawtooth_wave = {"is_sawtooth_wave", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_287is_sawtooth_wave, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_286is_sawtooth_wave};
static PyObject *__pyx_pw_8pysndlib_3clm_287is_sawtooth_wave(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_sawtooth_wave (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2304, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_sawtooth_wave") < 0)) __PYX_ERR(0, 2304, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_sawtooth_wave", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2304, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_sawtooth_wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2304, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_286is_sawtooth_wave(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_286is_sawtooth_wave(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_sawtooth_wave", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_sawtooth_wave(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2304, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2304, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_sawtooth_wave", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2304, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2304, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_287is_sawtooth_wave, 0, __pyx_n_s_is_sawtooth_wave, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__324)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2304, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_sawtooth_wave, __pyx_t_37) < 0) __PYX_ERR(0, 2304, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__324 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_sawtooth_wave, 2304, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__324)) __PYX_ERR(0, 2304, __pyx_L1_error)
2305: """
2306: returns true if gen is a sawtooth_wave
2307: :param gen: gen
2308: :return: result
2309: :rtype: bool
2310: """
+2311: return cclm.mus_is_sawtooth_wave(gen._ptr)
__pyx_r = mus_is_sawtooth_wave(__pyx_v_gen->_ptr); goto __pyx_L0;
2312:
2313: # ---------------- pulse-train ---------------- #
+2314: cpdef mus_any make_pulse_train(frequency: cython.double, amplitude: Optional[cython.double]=1.0, phase: Optional[cython.double]=0.0):
static PyObject *__pyx_pw_8pysndlib_3clm_289make_pulse_train(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_pulse_train(double __pyx_v_frequency, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_pulse_train *__pyx_optional_args) {
PyObject *__pyx_v_amplitude = ((PyObject *)__pyx_float_1_0);
PyObject *__pyx_v_phase = ((PyObject *)__pyx_float_0_0);
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_pulse_train", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_amplitude = __pyx_optional_args->amplitude;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_phase = __pyx_optional_args->phase;
}
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.make_pulse_train", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_289make_pulse_train(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_288make_pulse_train, "\n return a new pulse_train generator. this produces a sequence of impulses.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_289make_pulse_train = {"make_pulse_train", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_289make_pulse_train, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_288make_pulse_train};
static PyObject *__pyx_pw_8pysndlib_3clm_289make_pulse_train(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_frequency;
PyObject *__pyx_v_amplitude = 0;
PyObject *__pyx_v_phase = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_pulse_train (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frequency,&__pyx_n_s_amplitude,&__pyx_n_s_phase,0};
PyObject* values[3] = {0,0,0};
values[1] = ((PyObject *)__pyx_float_1_0);
values[2] = ((PyObject *)__pyx_float_0_0);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frequency)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2314, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_amplitude);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2314, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_phase);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2314, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_pulse_train") < 0)) __PYX_ERR(0, 2314, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_frequency = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_frequency == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2314, __pyx_L3_error)
__pyx_v_amplitude = values[1];
__pyx_v_phase = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_pulse_train", 0, 1, 3, __pyx_nargs); __PYX_ERR(0, 2314, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_pulse_train", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_288make_pulse_train(__pyx_self, __pyx_v_frequency, __pyx_v_amplitude, __pyx_v_phase);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_288make_pulse_train(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_frequency, PyObject *__pyx_v_amplitude, PyObject *__pyx_v_phase) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_pulse_train", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 2;
__pyx_t_2.amplitude = __pyx_v_amplitude;
__pyx_t_2.phase = __pyx_v_phase;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_pulse_train(__pyx_v_frequency, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2314, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_pulse_train", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_codeobj__325 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__310, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_pulse_train, 2314, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__325)) __PYX_ERR(0, 2314, __pyx_L1_error)
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2314, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_frequency, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2314, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_amplitude, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2314, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_phase, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2314, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_289make_pulse_train, 0, __pyx_n_s_make_pulse_train, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__325)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2314, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_tuple__326);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_pulse_train, __pyx_t_41) < 0) __PYX_ERR(0, 2314, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_tuple__326 = PyTuple_Pack(2, __pyx_float_1_0, __pyx_float_0_0); if (unlikely(!__pyx_tuple__326)) __PYX_ERR(0, 2314, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__326);
__Pyx_GIVEREF(__pyx_tuple__326);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_pulse_train {
int __pyx_n;
PyObject *amplitude;
PyObject *phase;
};
2315: """
2316: return a new pulse_train generator. this produces a sequence of impulses.
2317: """
+2318: return mus_any.from_ptr(cclm.mus_make_pulse_train(frequency, amplitude, phase))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_amplitude); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2318, __pyx_L1_error) __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_phase); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2318, __pyx_L1_error) __pyx_t_3 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_pulse_train(__pyx_v_frequency, __pyx_t_1, __pyx_t_2), NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2318, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L0;
2319:
+2320: cpdef cython.double pulse_train(gen: mus_any, fm: Optional[cython.double]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_291pulse_train(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_pulse_train(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_pulse_train *__pyx_optional_args) {
PyObject *__pyx_v_fm = ((PyObject *)Py_None);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("pulse_train", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_fm = __pyx_optional_args->fm;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.pulse_train", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_291pulse_train(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_290pulse_train, "\n next pulse train sample from generator\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_291pulse_train = {"pulse_train", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_291pulse_train, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_290pulse_train};
static PyObject *__pyx_pw_8pysndlib_3clm_291pulse_train(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_fm = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("pulse_train (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_fm,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2320, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fm);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2320, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "pulse_train") < 0)) __PYX_ERR(0, 2320, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_fm = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("pulse_train", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 2320, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.pulse_train", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2320, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_290pulse_train(__pyx_self, __pyx_v_gen, __pyx_v_fm);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_290pulse_train(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_fm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("pulse_train", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.fm = __pyx_v_fm;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_pulse_train(__pyx_v_gen, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2320, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2320, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.pulse_train", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2320, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2320, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_fm, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2320, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_291pulse_train, 0, __pyx_n_s_pulse_train, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__327)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2320, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_pulse_train, __pyx_t_37) < 0) __PYX_ERR(0, 2320, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__327 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__292, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_pulse_train, 2320, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__327)) __PYX_ERR(0, 2320, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_pulse_train {
int __pyx_n;
PyObject *fm;
};
2321: """
2322: next pulse train sample from generator
2323: """
+2324: if fm:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_fm); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 2324, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+2325: return cclm.mus_pulse_train(gen._ptr, fm)
__pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_fm); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2325, __pyx_L1_error) __pyx_r = mus_pulse_train(__pyx_v_gen->_ptr, __pyx_t_2); goto __pyx_L0;
2326: else:
+2327: return cclm.mus_pulse_train_unmodulated(gen._ptr)
/*else*/ {
__pyx_r = mus_pulse_train_unmodulated(__pyx_v_gen->_ptr);
goto __pyx_L0;
}
2328:
+2329: cpdef bint is_pulse_train(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_293is_pulse_train(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_pulse_train(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_pulse_train", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_293is_pulse_train(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_292is_pulse_train, "\n returns true if gen is a pulse_train\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_293is_pulse_train = {"is_pulse_train", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_293is_pulse_train, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_292is_pulse_train};
static PyObject *__pyx_pw_8pysndlib_3clm_293is_pulse_train(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_pulse_train (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2329, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_pulse_train") < 0)) __PYX_ERR(0, 2329, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_pulse_train", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2329, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_pulse_train", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2329, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_292is_pulse_train(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_292is_pulse_train(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_pulse_train", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_pulse_train(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2329, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2329, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_pulse_train", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2329, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2329, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_293is_pulse_train, 0, __pyx_n_s_is_pulse_train, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__328)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2329, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_pulse_train, __pyx_t_41) < 0) __PYX_ERR(0, 2329, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__328 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_pulse_train, 2329, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__328)) __PYX_ERR(0, 2329, __pyx_L1_error)
2330: """
2331: returns true if gen is a pulse_train
2332: :param gen: gen
2333: :return: result
2334: :rtype: bool
2335: """
+2336: return cclm.mus_is_pulse_train(gen._ptr)
__pyx_r = mus_is_pulse_train(__pyx_v_gen->_ptr); goto __pyx_L0;
2337:
2338: # ---------------- ncos ---------------- #
2339:
+2340: cpdef mus_any make_ncos(frequency: cython.double, n: Optional[int]=1):
static PyObject *__pyx_pw_8pysndlib_3clm_295make_ncos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_ncos(double __pyx_v_frequency, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_ncos *__pyx_optional_args) {
PyObject *__pyx_v_n = ((PyObject *)__pyx_int_1);
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_ncos", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_n = __pyx_optional_args->n;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.make_ncos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_295make_ncos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_294make_ncos, "\n return a new ncos generator, producing a sum of 'n' equal amplitude cosines.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_295make_ncos = {"make_ncos", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_295make_ncos, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_294make_ncos};
static PyObject *__pyx_pw_8pysndlib_3clm_295make_ncos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_frequency;
PyObject *__pyx_v_n = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_ncos (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frequency,&__pyx_n_s_n,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)__pyx_int_1);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frequency)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2340, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2340, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_ncos") < 0)) __PYX_ERR(0, 2340, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_frequency = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_frequency == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2340, __pyx_L3_error)
__pyx_v_n = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_ncos", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 2340, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_ncos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_294make_ncos(__pyx_self, __pyx_v_frequency, __pyx_v_n);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_294make_ncos(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_frequency, PyObject *__pyx_v_n) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_ncos", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.n = __pyx_v_n;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_ncos(__pyx_v_frequency, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2340, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_ncos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__329 = PyTuple_Pack(2, __pyx_n_s_frequency, __pyx_n_s_n); if (unlikely(!__pyx_tuple__329)) __PYX_ERR(0, 2340, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__329);
__Pyx_GIVEREF(__pyx_tuple__329);
__pyx_codeobj__330 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__329, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_ncos, 2340, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__330)) __PYX_ERR(0, 2340, __pyx_L1_error)
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2340, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_frequency, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2340, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_n, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 2340, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_295make_ncos, 0, __pyx_n_s_make_ncos, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__330)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2340, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__331);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_ncos, __pyx_t_37) < 0) __PYX_ERR(0, 2340, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_tuple__331 = PyTuple_Pack(1, __pyx_int_1); if (unlikely(!__pyx_tuple__331)) __PYX_ERR(0, 2340, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__331);
__Pyx_GIVEREF(__pyx_tuple__331);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_ncos {
int __pyx_n;
PyObject *n;
};
2341: """
2342: return a new ncos generator, producing a sum of 'n' equal amplitude cosines.
2343: """
+2344: return mus_any.from_ptr(cclm.mus_make_ncos(frequency, n))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_n); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2344, __pyx_L1_error) __pyx_t_2 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_ncos(__pyx_v_frequency, __pyx_t_1), NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L0;
2345:
+2346: cpdef cython.double ncos(gen: mus_any, fm: Optional[cython.double]=0.0):
static PyObject *__pyx_pw_8pysndlib_3clm_297ncos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_ncos(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_ncos *__pyx_optional_args) {
PyObject *__pyx_v_fm = ((PyObject *)__pyx_float_0_0);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ncos", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_fm = __pyx_optional_args->fm;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.ncos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_297ncos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_296ncos, "\n get the next sample from 'gen', an ncos generator\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_297ncos = {"ncos", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_297ncos, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_296ncos};
static PyObject *__pyx_pw_8pysndlib_3clm_297ncos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_fm = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ncos (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_fm,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)__pyx_float_0_0);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2346, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fm);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2346, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "ncos") < 0)) __PYX_ERR(0, 2346, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_fm = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("ncos", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 2346, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.ncos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2346, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_296ncos(__pyx_self, __pyx_v_gen, __pyx_v_fm);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_296ncos(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_fm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ncos", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.fm = __pyx_v_fm;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_ncos(__pyx_v_gen, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2346, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2346, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.ncos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_codeobj__332 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__292, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_ncos, 2346, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__332)) __PYX_ERR(0, 2346, __pyx_L1_error)
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2346, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2346, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_fm, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2346, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_297ncos, 0, __pyx_n_s_ncos, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__332)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2346, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_tuple__333);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ncos, __pyx_t_41) < 0) __PYX_ERR(0, 2346, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_tuple__333 = PyTuple_Pack(1, __pyx_float_0_0); if (unlikely(!__pyx_tuple__333)) __PYX_ERR(0, 2346, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__333);
__Pyx_GIVEREF(__pyx_tuple__333);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_ncos {
int __pyx_n;
PyObject *fm;
};
2347: """
2348: get the next sample from 'gen', an ncos generator
2349: """
+2350: return cclm.mus_ncos(gen._ptr, fm)
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_fm); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2350, __pyx_L1_error) __pyx_r = mus_ncos(__pyx_v_gen->_ptr, __pyx_t_1); goto __pyx_L0;
2351:
+2352: cpdef bint is_ncos(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_299is_ncos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_ncos(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_ncos", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_299is_ncos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_298is_ncos, "\n returns true if gen is a ncos\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_299is_ncos = {"is_ncos", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_299is_ncos, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_298is_ncos};
static PyObject *__pyx_pw_8pysndlib_3clm_299is_ncos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_ncos (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2352, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_ncos") < 0)) __PYX_ERR(0, 2352, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_ncos", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2352, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_ncos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2352, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_298is_ncos(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_298is_ncos(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_ncos", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_ncos(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2352, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2352, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_ncos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2352, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2352, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_299is_ncos, 0, __pyx_n_s_is_ncos, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__334)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2352, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_ncos, __pyx_t_37) < 0) __PYX_ERR(0, 2352, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__334 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_ncos, 2352, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__334)) __PYX_ERR(0, 2352, __pyx_L1_error)
2353: """
2354: returns true if gen is a ncos
2355: :param gen: gen
2356: :return: result
2357: :rtype: bool
2358: """
+2359: return cclm.mus_is_ncos(gen._ptr)
__pyx_r = mus_is_ncos(__pyx_v_gen->_ptr); goto __pyx_L0;
2360:
2361:
2362: # ---------------- nsin ---------------- #
+2363: cpdef mus_any make_nsin(frequency: cython.double, n: Optional[int]=1):
static PyObject *__pyx_pw_8pysndlib_3clm_301make_nsin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_nsin(double __pyx_v_frequency, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_nsin *__pyx_optional_args) {
PyObject *__pyx_v_n = ((PyObject *)__pyx_int_1);
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_nsin", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_n = __pyx_optional_args->n;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.make_nsin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_301make_nsin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_300make_nsin, "\n return a new nsin generator, producing a sum of 'n' equal amplitude sines\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_301make_nsin = {"make_nsin", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_301make_nsin, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_300make_nsin};
static PyObject *__pyx_pw_8pysndlib_3clm_301make_nsin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_frequency;
PyObject *__pyx_v_n = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_nsin (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frequency,&__pyx_n_s_n,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)__pyx_int_1);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frequency)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2363, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2363, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_nsin") < 0)) __PYX_ERR(0, 2363, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_frequency = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_frequency == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2363, __pyx_L3_error)
__pyx_v_n = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_nsin", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 2363, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_nsin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_300make_nsin(__pyx_self, __pyx_v_frequency, __pyx_v_n);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_300make_nsin(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_frequency, PyObject *__pyx_v_n) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_nsin", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.n = __pyx_v_n;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_nsin(__pyx_v_frequency, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2363, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_nsin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2363, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_frequency, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2363, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_n, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 2363, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_301make_nsin, 0, __pyx_n_s_make_nsin, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__335)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2363, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_tuple__331);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_nsin, __pyx_t_41) < 0) __PYX_ERR(0, 2363, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__335 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__329, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_nsin, 2363, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__335)) __PYX_ERR(0, 2363, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_nsin {
int __pyx_n;
PyObject *n;
};
2364: """
2365: return a new nsin generator, producing a sum of 'n' equal amplitude sines
2366: """
+2367: return mus_any.from_ptr(cclm.mus_make_nsin(frequency, n))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_n); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2367, __pyx_L1_error) __pyx_t_2 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_nsin(__pyx_v_frequency, __pyx_t_1), NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L0;
2368:
+2369: cpdef cython.double nsin(gen: mus_any, fm: Optional[cython.double]=0.0):
static PyObject *__pyx_pw_8pysndlib_3clm_303nsin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_nsin(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_nsin *__pyx_optional_args) {
PyObject *__pyx_v_fm = ((PyObject *)__pyx_float_0_0);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("nsin", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_fm = __pyx_optional_args->fm;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.nsin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_303nsin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_302nsin, "\n get the next sample from 'gen', an nsin generator\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_303nsin = {"nsin", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_303nsin, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_302nsin};
static PyObject *__pyx_pw_8pysndlib_3clm_303nsin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_fm = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("nsin (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_fm,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)__pyx_float_0_0);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2369, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fm);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2369, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "nsin") < 0)) __PYX_ERR(0, 2369, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_fm = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("nsin", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 2369, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.nsin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2369, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_302nsin(__pyx_self, __pyx_v_gen, __pyx_v_fm);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_302nsin(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_fm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("nsin", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.fm = __pyx_v_fm;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_nsin(__pyx_v_gen, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2369, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2369, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.nsin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_codeobj__336 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__292, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_nsin, 2369, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__336)) __PYX_ERR(0, 2369, __pyx_L1_error)
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2369, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2369, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_fm, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2369, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_303nsin, 0, __pyx_n_s_nsin, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__336)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2369, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__337);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_nsin, __pyx_t_37) < 0) __PYX_ERR(0, 2369, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_tuple__337 = PyTuple_Pack(1, __pyx_float_0_0); if (unlikely(!__pyx_tuple__337)) __PYX_ERR(0, 2369, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__337);
__Pyx_GIVEREF(__pyx_tuple__337);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_nsin {
int __pyx_n;
PyObject *fm;
};
2370: """
2371: get the next sample from 'gen', an nsin generator
2372: """
+2373: return cclm.mus_nsin(gen._ptr, fm)
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_fm); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2373, __pyx_L1_error) __pyx_r = mus_nsin(__pyx_v_gen->_ptr, __pyx_t_1); goto __pyx_L0;
2374:
+2375: cpdef bint is_nsin(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_305is_nsin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_nsin(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_nsin", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_305is_nsin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_304is_nsin, "\n returns true if gen is a nsin\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_305is_nsin = {"is_nsin", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_305is_nsin, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_304is_nsin};
static PyObject *__pyx_pw_8pysndlib_3clm_305is_nsin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_nsin (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2375, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_nsin") < 0)) __PYX_ERR(0, 2375, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_nsin", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2375, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_nsin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2375, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_304is_nsin(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_304is_nsin(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_nsin", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_nsin(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2375, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2375, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_nsin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2375, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2375, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_305is_nsin, 0, __pyx_n_s_is_nsin, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__338)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2375, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_nsin, __pyx_t_41) < 0) __PYX_ERR(0, 2375, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__338 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_nsin, 2375, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__338)) __PYX_ERR(0, 2375, __pyx_L1_error)
2376: """
2377: returns true if gen is a nsin
2378: :param gen: gen
2379: :return: result
2380: :rtype: bool
2381: """
+2382: return cclm.mus_is_nsin(gen._ptr)
__pyx_r = mus_is_nsin(__pyx_v_gen->_ptr); goto __pyx_L0;
2383:
2384: # ---------------- nrxysin and nrxycos ---------------- #
2385:
+2386: cpdef mus_any make_nrxysin(frequency: cython.double, ratio: Optional[float]=1., n: Optional[int]=1, r: Optional[float]=.5):
static PyObject *__pyx_pw_8pysndlib_3clm_307make_nrxysin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_nrxysin(double __pyx_v_frequency, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_nrxysin *__pyx_optional_args) {
PyObject *__pyx_v_ratio = ((PyObject *)__pyx_float_1_);
PyObject *__pyx_v_n = ((PyObject *)__pyx_int_1);
PyObject *__pyx_v_r = ((PyObject *)__pyx_float__5);
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_nrxysin", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_ratio = __pyx_optional_args->ratio;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_n = __pyx_optional_args->n;
if (__pyx_optional_args->__pyx_n > 2) {
__pyx_v_r = __pyx_optional_args->r;
}
}
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.make_nrxysin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_307make_nrxysin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_306make_nrxysin, "\n return a new nrxysin generator.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_307make_nrxysin = {"make_nrxysin", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_307make_nrxysin, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_306make_nrxysin};
static PyObject *__pyx_pw_8pysndlib_3clm_307make_nrxysin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_frequency;
PyObject *__pyx_v_ratio = 0;
PyObject *__pyx_v_n = 0;
PyObject *__pyx_v_r = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_nrxysin (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frequency,&__pyx_n_s_ratio,&__pyx_n_s_n,&__pyx_n_s_r,0};
PyObject* values[4] = {0,0,0,0};
values[1] = ((PyObject *)__pyx_float_1_);
values[2] = ((PyObject *)__pyx_int_1);
values[3] = ((PyObject *)__pyx_float__5);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frequency)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2386, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ratio);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2386, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2386, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_r);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2386, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_nrxysin") < 0)) __PYX_ERR(0, 2386, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_frequency = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_frequency == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2386, __pyx_L3_error)
__pyx_v_ratio = values[1];
__pyx_v_n = values[2];
__pyx_v_r = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_nrxysin", 0, 1, 4, __pyx_nargs); __PYX_ERR(0, 2386, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_nrxysin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_306make_nrxysin(__pyx_self, __pyx_v_frequency, __pyx_v_ratio, __pyx_v_n, __pyx_v_r);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_306make_nrxysin(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_frequency, PyObject *__pyx_v_ratio, PyObject *__pyx_v_n, PyObject *__pyx_v_r) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_nrxysin", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 3;
__pyx_t_2.ratio = __pyx_v_ratio;
__pyx_t_2.n = __pyx_v_n;
__pyx_t_2.r = __pyx_v_r;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_nrxysin(__pyx_v_frequency, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2386, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_nrxysin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__339 = PyTuple_Pack(4, __pyx_n_s_frequency, __pyx_n_s_ratio, __pyx_n_s_n, __pyx_n_s_r); if (unlikely(!__pyx_tuple__339)) __PYX_ERR(0, 2386, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__339);
__Pyx_GIVEREF(__pyx_tuple__339);
__pyx_codeobj__340 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__339, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_nrxysin, 2386, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__340)) __PYX_ERR(0, 2386, __pyx_L1_error)
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2386, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_frequency, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2386, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_ratio, __pyx_kp_s_Optional_float) < 0) __PYX_ERR(0, 2386, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_n, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 2386, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_r, __pyx_kp_s_Optional_float) < 0) __PYX_ERR(0, 2386, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_307make_nrxysin, 0, __pyx_n_s_make_nrxysin, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__340)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2386, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__341);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_nrxysin, __pyx_t_37) < 0) __PYX_ERR(0, 2386, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_tuple__341 = PyTuple_Pack(3, __pyx_float_1_, __pyx_int_1, __pyx_float__5); if (unlikely(!__pyx_tuple__341)) __PYX_ERR(0, 2386, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__341);
__Pyx_GIVEREF(__pyx_tuple__341);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_nrxysin {
int __pyx_n;
PyObject *ratio;
PyObject *n;
PyObject *r;
};
2387: """
2388: return a new nrxysin generator.
2389: """
+2390: return mus_any.from_ptr(cclm.mus_make_nrxysin(frequency, ratio, n, r))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_ratio); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2390, __pyx_L1_error) __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_v_n); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2390, __pyx_L1_error) __pyx_t_3 = __pyx_PyFloat_AsDouble(__pyx_v_r); if (unlikely((__pyx_t_3 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2390, __pyx_L1_error) __pyx_t_4 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_nrxysin(__pyx_v_frequency, __pyx_t_1, __pyx_t_2, __pyx_t_3), NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L0;
2391:
+2392: cpdef cython.double nrxysin(gen: mus_any, fm: Optional[cython.double]=0.):
static PyObject *__pyx_pw_8pysndlib_3clm_309nrxysin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_nrxysin(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_nrxysin *__pyx_optional_args) {
PyObject *__pyx_v_fm = ((PyObject *)__pyx_float_0_);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("nrxysin", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_fm = __pyx_optional_args->fm;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.nrxysin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_309nrxysin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_308nrxysin, "\n next sample of nrxysin generator\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_309nrxysin = {"nrxysin", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_309nrxysin, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_308nrxysin};
static PyObject *__pyx_pw_8pysndlib_3clm_309nrxysin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_fm = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("nrxysin (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_fm,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)__pyx_float_0_);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2392, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fm);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2392, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "nrxysin") < 0)) __PYX_ERR(0, 2392, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_fm = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("nrxysin", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 2392, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.nrxysin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2392, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_308nrxysin(__pyx_self, __pyx_v_gen, __pyx_v_fm);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_308nrxysin(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_fm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("nrxysin", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.fm = __pyx_v_fm;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_nrxysin(__pyx_v_gen, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2392, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2392, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.nrxysin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_codeobj__342 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__292, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_nrxysin, 2392, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__342)) __PYX_ERR(0, 2392, __pyx_L1_error)
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2392, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2392, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_fm, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2392, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_309nrxysin, 0, __pyx_n_s_nrxysin, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__342)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2392, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_tuple__343);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_nrxysin, __pyx_t_41) < 0) __PYX_ERR(0, 2392, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_tuple__343 = PyTuple_Pack(1, __pyx_float_0_); if (unlikely(!__pyx_tuple__343)) __PYX_ERR(0, 2392, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__343);
__Pyx_GIVEREF(__pyx_tuple__343);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_nrxysin {
int __pyx_n;
PyObject *fm;
};
2393: """
2394: next sample of nrxysin generator
2395: """
+2396: return cclm.mus_nrxysin(gen._ptr, fm)
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_fm); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2396, __pyx_L1_error) __pyx_r = mus_nrxysin(__pyx_v_gen->_ptr, __pyx_t_1); goto __pyx_L0;
2397:
+2398: cpdef bint is_nrxysin(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_311is_nrxysin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_nrxysin(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_nrxysin", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_311is_nrxysin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_310is_nrxysin, "\n returns true if gen is a nrxysin\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_311is_nrxysin = {"is_nrxysin", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_311is_nrxysin, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_310is_nrxysin};
static PyObject *__pyx_pw_8pysndlib_3clm_311is_nrxysin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_nrxysin (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2398, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_nrxysin") < 0)) __PYX_ERR(0, 2398, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_nrxysin", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2398, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_nrxysin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2398, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_310is_nrxysin(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_310is_nrxysin(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_nrxysin", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_nrxysin(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2398, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2398, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_nrxysin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2398, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2398, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_311is_nrxysin, 0, __pyx_n_s_is_nrxysin, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__344)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2398, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_nrxysin, __pyx_t_37) < 0) __PYX_ERR(0, 2398, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__344 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_nrxysin, 2398, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__344)) __PYX_ERR(0, 2398, __pyx_L1_error)
2399: """
2400: returns true if gen is a nrxysin
2401: :param gen: gen
2402: :return: result
2403: :rtype: bool
2404: """
+2405: return cclm.mus_is_nrxysin(gen._ptr)
__pyx_r = mus_is_nrxysin(__pyx_v_gen->_ptr); goto __pyx_L0;
2406:
2407:
+2408: cpdef mus_any make_nrxycos(frequency: cython.double, ratio: Optional[cython.double]=1., n: Optional[int]=1, r: Optional[cython.double]=.5):
static PyObject *__pyx_pw_8pysndlib_3clm_313make_nrxycos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_nrxycos(double __pyx_v_frequency, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_nrxycos *__pyx_optional_args) {
PyObject *__pyx_v_ratio = ((PyObject *)__pyx_float_1_);
PyObject *__pyx_v_n = ((PyObject *)__pyx_int_1);
PyObject *__pyx_v_r = ((PyObject *)__pyx_float__5);
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_nrxycos", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_ratio = __pyx_optional_args->ratio;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_n = __pyx_optional_args->n;
if (__pyx_optional_args->__pyx_n > 2) {
__pyx_v_r = __pyx_optional_args->r;
}
}
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.make_nrxycos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_313make_nrxycos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_312make_nrxycos, "\n return a new nrxycos generator.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_313make_nrxycos = {"make_nrxycos", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_313make_nrxycos, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_312make_nrxycos};
static PyObject *__pyx_pw_8pysndlib_3clm_313make_nrxycos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_frequency;
PyObject *__pyx_v_ratio = 0;
PyObject *__pyx_v_n = 0;
PyObject *__pyx_v_r = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_nrxycos (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frequency,&__pyx_n_s_ratio,&__pyx_n_s_n,&__pyx_n_s_r,0};
PyObject* values[4] = {0,0,0,0};
values[1] = ((PyObject *)__pyx_float_1_);
values[2] = ((PyObject *)__pyx_int_1);
values[3] = ((PyObject *)__pyx_float__5);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frequency)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2408, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ratio);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2408, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2408, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_r);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2408, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_nrxycos") < 0)) __PYX_ERR(0, 2408, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_frequency = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_frequency == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2408, __pyx_L3_error)
__pyx_v_ratio = values[1];
__pyx_v_n = values[2];
__pyx_v_r = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_nrxycos", 0, 1, 4, __pyx_nargs); __PYX_ERR(0, 2408, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_nrxycos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_312make_nrxycos(__pyx_self, __pyx_v_frequency, __pyx_v_ratio, __pyx_v_n, __pyx_v_r);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_312make_nrxycos(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_frequency, PyObject *__pyx_v_ratio, PyObject *__pyx_v_n, PyObject *__pyx_v_r) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_nrxycos", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 3;
__pyx_t_2.ratio = __pyx_v_ratio;
__pyx_t_2.n = __pyx_v_n;
__pyx_t_2.r = __pyx_v_r;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_nrxycos(__pyx_v_frequency, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2408, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_nrxycos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_codeobj__345 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__339, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_nrxycos, 2408, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__345)) __PYX_ERR(0, 2408, __pyx_L1_error)
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2408, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_frequency, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2408, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_ratio, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2408, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_n, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 2408, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_r, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2408, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_313make_nrxycos, 0, __pyx_n_s_make_nrxycos, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__345)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2408, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_tuple__346);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_nrxycos, __pyx_t_41) < 0) __PYX_ERR(0, 2408, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_tuple__346 = PyTuple_Pack(3, __pyx_float_1_, __pyx_int_1, __pyx_float__5); if (unlikely(!__pyx_tuple__346)) __PYX_ERR(0, 2408, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__346);
__Pyx_GIVEREF(__pyx_tuple__346);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_nrxycos {
int __pyx_n;
PyObject *ratio;
PyObject *n;
PyObject *r;
};
2409: """
2410: return a new nrxycos generator.
2411: """
+2412: return mus_any.from_ptr(cclm.mus_make_nrxycos(frequency, ratio, n, r))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_ratio); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2412, __pyx_L1_error) __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_v_n); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2412, __pyx_L1_error) __pyx_t_3 = __pyx_PyFloat_AsDouble(__pyx_v_r); if (unlikely((__pyx_t_3 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2412, __pyx_L1_error) __pyx_t_4 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_nrxycos(__pyx_v_frequency, __pyx_t_1, __pyx_t_2, __pyx_t_3), NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2412, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L0;
2413:
+2414: cpdef cython.double nrxycos(gen: mus_any, fm: Optional[cython.double]=0.):
static PyObject *__pyx_pw_8pysndlib_3clm_315nrxycos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_nrxycos(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_nrxycos *__pyx_optional_args) {
PyObject *__pyx_v_fm = ((PyObject *)__pyx_float_0_);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("nrxycos", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_fm = __pyx_optional_args->fm;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.nrxycos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_315nrxycos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_314nrxycos, "\n next sample of nrxycos generator\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_315nrxycos = {"nrxycos", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_315nrxycos, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_314nrxycos};
static PyObject *__pyx_pw_8pysndlib_3clm_315nrxycos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_fm = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("nrxycos (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_fm,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)__pyx_float_0_);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2414, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fm);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2414, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "nrxycos") < 0)) __PYX_ERR(0, 2414, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_fm = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("nrxycos", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 2414, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.nrxycos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2414, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_314nrxycos(__pyx_self, __pyx_v_gen, __pyx_v_fm);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_314nrxycos(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_fm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("nrxycos", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.fm = __pyx_v_fm;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_nrxycos(__pyx_v_gen, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2414, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2414, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.nrxycos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_codeobj__347 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__292, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_nrxycos, 2414, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__347)) __PYX_ERR(0, 2414, __pyx_L1_error)
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2414, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2414, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_fm, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2414, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_315nrxycos, 0, __pyx_n_s_nrxycos, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__347)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2414, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__348);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_nrxycos, __pyx_t_37) < 0) __PYX_ERR(0, 2414, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_tuple__348 = PyTuple_Pack(1, __pyx_float_0_); if (unlikely(!__pyx_tuple__348)) __PYX_ERR(0, 2414, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__348);
__Pyx_GIVEREF(__pyx_tuple__348);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_nrxycos {
int __pyx_n;
PyObject *fm;
};
2415: """
2416: next sample of nrxycos generator
2417: """
+2418: return cclm.mus_nrxycos(gen._ptr, fm)
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_fm); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2418, __pyx_L1_error) __pyx_r = mus_nrxycos(__pyx_v_gen->_ptr, __pyx_t_1); goto __pyx_L0;
2419:
+2420: cpdef bint is_nrxycos(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_317is_nrxycos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_nrxycos(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_nrxycos", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_317is_nrxycos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_316is_nrxycos, "\n returns true if gen is a nrxycos\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_317is_nrxycos = {"is_nrxycos", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_317is_nrxycos, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_316is_nrxycos};
static PyObject *__pyx_pw_8pysndlib_3clm_317is_nrxycos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_nrxycos (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2420, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_nrxycos") < 0)) __PYX_ERR(0, 2420, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_nrxycos", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2420, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_nrxycos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2420, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_316is_nrxycos(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_316is_nrxycos(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_nrxycos", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_nrxycos(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2420, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2420, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_nrxycos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2420, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2420, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_317is_nrxycos, 0, __pyx_n_s_is_nrxycos, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__349)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2420, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_nrxycos, __pyx_t_41) < 0) __PYX_ERR(0, 2420, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__349 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_nrxycos, 2420, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__349)) __PYX_ERR(0, 2420, __pyx_L1_error)
2421: """
2422: returns true if gen is a nrxycos
2423: :param gen: gen
2424: :return: result
2425: :rtype: bool
2426: """
+2427: return cclm.mus_is_nrxycos(gen._ptr)
__pyx_r = mus_is_nrxycos(__pyx_v_gen->_ptr); goto __pyx_L0;
2428:
2429:
2430: # ---------------- rxykcos and rxyksin ---------------- #
+2431: cpdef mus_any make_rxykcos(frequency: cython.double, phase: cython.double, r: Optional[cython.double]=.5, ratio: Optional[cython.double]=1.):
static PyObject *__pyx_pw_8pysndlib_3clm_319make_rxykcos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_rxykcos(double __pyx_v_frequency, double __pyx_v_phase, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_rxykcos *__pyx_optional_args) {
PyObject *__pyx_v_r = ((PyObject *)__pyx_float__5);
PyObject *__pyx_v_ratio = ((PyObject *)__pyx_float_1_);
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_rxykcos", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_r = __pyx_optional_args->r;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_ratio = __pyx_optional_args->ratio;
}
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.make_rxykcos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_319make_rxykcos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_318make_rxykcos, "\n return a new rxykcos generator.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_319make_rxykcos = {"make_rxykcos", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_319make_rxykcos, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_318make_rxykcos};
static PyObject *__pyx_pw_8pysndlib_3clm_319make_rxykcos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_frequency;
double __pyx_v_phase;
PyObject *__pyx_v_r = 0;
PyObject *__pyx_v_ratio = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_rxykcos (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frequency,&__pyx_n_s_phase,&__pyx_n_s_r,&__pyx_n_s_ratio,0};
PyObject* values[4] = {0,0,0,0};
values[2] = ((PyObject *)__pyx_float__5);
values[3] = ((PyObject *)__pyx_float_1_);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frequency)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2431, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_phase)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2431, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_rxykcos", 0, 2, 4, 1); __PYX_ERR(0, 2431, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_r);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2431, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ratio);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2431, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_rxykcos") < 0)) __PYX_ERR(0, 2431, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_frequency = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_frequency == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2431, __pyx_L3_error)
__pyx_v_phase = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_phase == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2431, __pyx_L3_error)
__pyx_v_r = values[2];
__pyx_v_ratio = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_rxykcos", 0, 2, 4, __pyx_nargs); __PYX_ERR(0, 2431, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_rxykcos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_318make_rxykcos(__pyx_self, __pyx_v_frequency, __pyx_v_phase, __pyx_v_r, __pyx_v_ratio);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_318make_rxykcos(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_frequency, double __pyx_v_phase, PyObject *__pyx_v_r, PyObject *__pyx_v_ratio) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_rxykcos", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 2;
__pyx_t_2.r = __pyx_v_r;
__pyx_t_2.ratio = __pyx_v_ratio;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_rxykcos(__pyx_v_frequency, __pyx_v_phase, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2431, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_rxykcos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__350 = PyTuple_Pack(4, __pyx_n_s_frequency, __pyx_n_s_phase, __pyx_n_s_r, __pyx_n_s_ratio); if (unlikely(!__pyx_tuple__350)) __PYX_ERR(0, 2431, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__350);
__Pyx_GIVEREF(__pyx_tuple__350);
__pyx_codeobj__351 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__350, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_rxykcos, 2431, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__351)) __PYX_ERR(0, 2431, __pyx_L1_error)
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2431, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_frequency, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2431, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_phase, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2431, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_r, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2431, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_ratio, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2431, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_319make_rxykcos, 0, __pyx_n_s_make_rxykcos, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__351)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2431, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__352);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_rxykcos, __pyx_t_37) < 0) __PYX_ERR(0, 2431, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_tuple__352 = PyTuple_Pack(2, __pyx_float__5, __pyx_float_1_); if (unlikely(!__pyx_tuple__352)) __PYX_ERR(0, 2431, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__352);
__Pyx_GIVEREF(__pyx_tuple__352);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_rxykcos {
int __pyx_n;
PyObject *r;
PyObject *ratio;
};
2432: """
2433: return a new rxykcos generator.
2434: """
+2435: return mus_any.from_ptr(cclm.mus_make_rxykcos(frequency, phase, r, ratio))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_r); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2435, __pyx_L1_error) __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_ratio); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2435, __pyx_L1_error) __pyx_t_3 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_rxykcos(__pyx_v_frequency, __pyx_v_phase, __pyx_t_1, __pyx_t_2), NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2435, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L0;
2436:
+2437: cpdef cython.double rxykcos(gen: mus_any, fm: Optional[float]=0.):
static PyObject *__pyx_pw_8pysndlib_3clm_321rxykcos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_rxykcos(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_rxykcos *__pyx_optional_args) {
PyObject *__pyx_v_fm = ((PyObject *)__pyx_float_0_);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("rxykcos", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_fm = __pyx_optional_args->fm;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.rxykcos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_321rxykcos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_320rxykcos, "\n next sample of rxykcos generator\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_321rxykcos = {"rxykcos", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_321rxykcos, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_320rxykcos};
static PyObject *__pyx_pw_8pysndlib_3clm_321rxykcos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_fm = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("rxykcos (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_fm,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)__pyx_float_0_);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2437, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fm);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2437, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "rxykcos") < 0)) __PYX_ERR(0, 2437, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_fm = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("rxykcos", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 2437, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.rxykcos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2437, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_320rxykcos(__pyx_self, __pyx_v_gen, __pyx_v_fm);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_320rxykcos(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_fm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("rxykcos", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.fm = __pyx_v_fm;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_rxykcos(__pyx_v_gen, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2437, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2437, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.rxykcos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_codeobj__353 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__292, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_rxykcos, 2437, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__353)) __PYX_ERR(0, 2437, __pyx_L1_error)
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2437, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2437, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_fm, __pyx_kp_s_Optional_float) < 0) __PYX_ERR(0, 2437, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_321rxykcos, 0, __pyx_n_s_rxykcos, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__353)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2437, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_tuple__354);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_rxykcos, __pyx_t_41) < 0) __PYX_ERR(0, 2437, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_tuple__354 = PyTuple_Pack(1, __pyx_float_0_); if (unlikely(!__pyx_tuple__354)) __PYX_ERR(0, 2437, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__354);
__Pyx_GIVEREF(__pyx_tuple__354);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_rxykcos {
int __pyx_n;
PyObject *fm;
};
2438: """
2439: next sample of rxykcos generator
2440: """
+2441: return cclm.mus_rxykcos(gen._ptr, fm)
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_fm); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2441, __pyx_L1_error) __pyx_r = mus_rxykcos(__pyx_v_gen->_ptr, __pyx_t_1); goto __pyx_L0;
2442:
+2443: cpdef bint is_rxykcos(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_323is_rxykcos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_rxykcos(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_rxykcos", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_323is_rxykcos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_322is_rxykcos, "\n returns true if gen is a rxykcos\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_323is_rxykcos = {"is_rxykcos", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_323is_rxykcos, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_322is_rxykcos};
static PyObject *__pyx_pw_8pysndlib_3clm_323is_rxykcos(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_rxykcos (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2443, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_rxykcos") < 0)) __PYX_ERR(0, 2443, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_rxykcos", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2443, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_rxykcos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2443, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_322is_rxykcos(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_322is_rxykcos(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_rxykcos", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_rxykcos(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2443, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2443, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_rxykcos", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2443, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2443, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_323is_rxykcos, 0, __pyx_n_s_is_rxykcos, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__355)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2443, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_rxykcos, __pyx_t_37) < 0) __PYX_ERR(0, 2443, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__355 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_rxykcos, 2443, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__355)) __PYX_ERR(0, 2443, __pyx_L1_error)
2444: """
2445: returns true if gen is a rxykcos
2446: :param gen: gen
2447: :return: result
2448: :rtype: bool
2449: """
+2450: return cclm.mus_is_rxykcos(gen._ptr)
__pyx_r = mus_is_rxykcos(__pyx_v_gen->_ptr); goto __pyx_L0;
2451:
+2452: cpdef mus_any make_rxyksin(frequency: cython.double, phase: cython.double, r: Optional[cython.double]=.5, ratio: Optional[cython.double]=1.):
static PyObject *__pyx_pw_8pysndlib_3clm_325make_rxyksin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_rxyksin(double __pyx_v_frequency, double __pyx_v_phase, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_rxyksin *__pyx_optional_args) {
PyObject *__pyx_v_r = ((PyObject *)__pyx_float__5);
PyObject *__pyx_v_ratio = ((PyObject *)__pyx_float_1_);
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_rxyksin", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_r = __pyx_optional_args->r;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_ratio = __pyx_optional_args->ratio;
}
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.make_rxyksin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_325make_rxyksin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_324make_rxyksin, "\n return a new rxyksin generator.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_325make_rxyksin = {"make_rxyksin", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_325make_rxyksin, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_324make_rxyksin};
static PyObject *__pyx_pw_8pysndlib_3clm_325make_rxyksin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_frequency;
double __pyx_v_phase;
PyObject *__pyx_v_r = 0;
PyObject *__pyx_v_ratio = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_rxyksin (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frequency,&__pyx_n_s_phase,&__pyx_n_s_r,&__pyx_n_s_ratio,0};
PyObject* values[4] = {0,0,0,0};
values[2] = ((PyObject *)__pyx_float__5);
values[3] = ((PyObject *)__pyx_float_1_);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frequency)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2452, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_phase)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2452, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_rxyksin", 0, 2, 4, 1); __PYX_ERR(0, 2452, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_r);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2452, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ratio);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2452, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_rxyksin") < 0)) __PYX_ERR(0, 2452, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_frequency = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_frequency == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2452, __pyx_L3_error)
__pyx_v_phase = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_phase == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2452, __pyx_L3_error)
__pyx_v_r = values[2];
__pyx_v_ratio = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_rxyksin", 0, 2, 4, __pyx_nargs); __PYX_ERR(0, 2452, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_rxyksin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_324make_rxyksin(__pyx_self, __pyx_v_frequency, __pyx_v_phase, __pyx_v_r, __pyx_v_ratio);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_324make_rxyksin(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_frequency, double __pyx_v_phase, PyObject *__pyx_v_r, PyObject *__pyx_v_ratio) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_rxyksin", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 2;
__pyx_t_2.r = __pyx_v_r;
__pyx_t_2.ratio = __pyx_v_ratio;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_rxyksin(__pyx_v_frequency, __pyx_v_phase, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2452, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_rxyksin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_codeobj__356 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__350, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_rxyksin, 2452, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__356)) __PYX_ERR(0, 2452, __pyx_L1_error)
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2452, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_frequency, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2452, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_phase, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2452, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_r, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2452, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_ratio, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2452, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_325make_rxyksin, 0, __pyx_n_s_make_rxyksin, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__356)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2452, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_tuple__357);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_rxyksin, __pyx_t_41) < 0) __PYX_ERR(0, 2452, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_tuple__357 = PyTuple_Pack(2, __pyx_float__5, __pyx_float_1_); if (unlikely(!__pyx_tuple__357)) __PYX_ERR(0, 2452, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__357);
__Pyx_GIVEREF(__pyx_tuple__357);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_rxyksin {
int __pyx_n;
PyObject *r;
PyObject *ratio;
};
2453: """
2454: return a new rxyksin generator.
2455: """
+2456: return mus_any.from_ptr(cclm.mus_make_rxyksin(frequency, phase, r, ratio))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_r); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2456, __pyx_L1_error) __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_ratio); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2456, __pyx_L1_error) __pyx_t_3 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_rxyksin(__pyx_v_frequency, __pyx_v_phase, __pyx_t_1, __pyx_t_2), NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L0;
2457:
+2458: cpdef cython.double rxyksin(gen: mus_any, fm: Optional[cython.double]=0.):
static PyObject *__pyx_pw_8pysndlib_3clm_327rxyksin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_rxyksin(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_rxyksin *__pyx_optional_args) {
PyObject *__pyx_v_fm = ((PyObject *)__pyx_float_0_);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("rxyksin", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_fm = __pyx_optional_args->fm;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.rxyksin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_327rxyksin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_326rxyksin, "\n next sample of rxyksin generator\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_327rxyksin = {"rxyksin", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_327rxyksin, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_326rxyksin};
static PyObject *__pyx_pw_8pysndlib_3clm_327rxyksin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_fm = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("rxyksin (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_fm,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)__pyx_float_0_);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2458, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fm);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2458, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "rxyksin") < 0)) __PYX_ERR(0, 2458, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_fm = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("rxyksin", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 2458, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.rxyksin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2458, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_326rxyksin(__pyx_self, __pyx_v_gen, __pyx_v_fm);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_326rxyksin(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_fm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("rxyksin", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.fm = __pyx_v_fm;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_rxyksin(__pyx_v_gen, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2458, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.rxyksin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_codeobj__358 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__292, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_rxyksin, 2458, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__358)) __PYX_ERR(0, 2458, __pyx_L1_error)
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2458, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_fm, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2458, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_327rxyksin, 0, __pyx_n_s_rxyksin, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__358)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__359);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_rxyksin, __pyx_t_37) < 0) __PYX_ERR(0, 2458, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_tuple__359 = PyTuple_Pack(1, __pyx_float_0_); if (unlikely(!__pyx_tuple__359)) __PYX_ERR(0, 2458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__359);
__Pyx_GIVEREF(__pyx_tuple__359);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_rxyksin {
int __pyx_n;
PyObject *fm;
};
2459: """
2460: next sample of rxyksin generator
2461: """
+2462: return cclm.mus_rxyksin(gen._ptr, fm)
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_fm); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2462, __pyx_L1_error) __pyx_r = mus_rxyksin(__pyx_v_gen->_ptr, __pyx_t_1); goto __pyx_L0;
2463:
+2464: cpdef bint is_rxyksin(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_329is_rxyksin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_rxyksin(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_rxyksin", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_329is_rxyksin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_328is_rxyksin, "\n returns true if gen is a rxyksin\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_329is_rxyksin = {"is_rxyksin", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_329is_rxyksin, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_328is_rxyksin};
static PyObject *__pyx_pw_8pysndlib_3clm_329is_rxyksin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_rxyksin (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2464, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_rxyksin") < 0)) __PYX_ERR(0, 2464, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_rxyksin", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2464, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_rxyksin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2464, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_328is_rxyksin(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_328is_rxyksin(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_rxyksin", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_rxyksin(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2464, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2464, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_rxyksin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2464, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2464, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_329is_rxyksin, 0, __pyx_n_s_is_rxyksin, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__360)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2464, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_rxyksin, __pyx_t_41) < 0) __PYX_ERR(0, 2464, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__360 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_rxyksin, 2464, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__360)) __PYX_ERR(0, 2464, __pyx_L1_error)
2465: """
2466: returns true if gen is a rxyksin
2467: :param gen: gen
2468: :return: result
2469: :rtype: bool
2470: """
+2471: return cclm.mus_is_rxyksin(gen._ptr)
__pyx_r = mus_is_rxyksin(__pyx_v_gen->_ptr); goto __pyx_L0;
2472:
2473: # ---------------- ssb-am ---------------- #
+2474: cpdef mus_any make_ssb_am(frequency: cython.double, n: Optional[int]=40):
static PyObject *__pyx_pw_8pysndlib_3clm_331make_ssb_am(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_ssb_am(double __pyx_v_frequency, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_ssb_am *__pyx_optional_args) {
PyObject *__pyx_v_n = ((PyObject *)__pyx_int_40);
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_ssb_am", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_n = __pyx_optional_args->n;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.make_ssb_am", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_331make_ssb_am(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_330make_ssb_am, "\n return a new ssb_am generator.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_331make_ssb_am = {"make_ssb_am", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_331make_ssb_am, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_330make_ssb_am};
static PyObject *__pyx_pw_8pysndlib_3clm_331make_ssb_am(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_frequency;
PyObject *__pyx_v_n = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_ssb_am (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frequency,&__pyx_n_s_n,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)__pyx_int_40);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frequency)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2474, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2474, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_ssb_am") < 0)) __PYX_ERR(0, 2474, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_frequency = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_frequency == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2474, __pyx_L3_error)
__pyx_v_n = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_ssb_am", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 2474, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_ssb_am", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_330make_ssb_am(__pyx_self, __pyx_v_frequency, __pyx_v_n);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_330make_ssb_am(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_frequency, PyObject *__pyx_v_n) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_ssb_am", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.n = __pyx_v_n;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_ssb_am(__pyx_v_frequency, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2474, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_ssb_am", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_codeobj__361 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__329, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_ssb_am, 2474, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__361)) __PYX_ERR(0, 2474, __pyx_L1_error)
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2474, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_frequency, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2474, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_n, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 2474, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_331make_ssb_am, 0, __pyx_n_s_make_ssb_am, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__361)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2474, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__362);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_ssb_am, __pyx_t_37) < 0) __PYX_ERR(0, 2474, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_tuple__362 = PyTuple_Pack(1, __pyx_int_40); if (unlikely(!__pyx_tuple__362)) __PYX_ERR(0, 2474, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__362);
__Pyx_GIVEREF(__pyx_tuple__362);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_ssb_am {
int __pyx_n;
PyObject *n;
};
2475: """
2476: return a new ssb_am generator.
2477: """
+2478: return mus_any.from_ptr(cclm.mus_make_ssb_am(frequency, n))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_n); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2478, __pyx_L1_error) __pyx_t_2 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_ssb_am(__pyx_v_frequency, __pyx_t_1), NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2478, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L0;
2479:
+2480: cpdef cython.double ssb_am(gen: mus_any, insig: cython.double, fm: Optional[cython.double]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_333ssb_am(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_ssb_am(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_ssb_am *__pyx_optional_args) {
PyObject *__pyx_v_fm = ((PyObject *)Py_None);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ssb_am", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_fm = __pyx_optional_args->fm;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.ssb_am", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_333ssb_am(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_332ssb_am, "\n get the next sample from ssb_am generator\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_333ssb_am = {"ssb_am", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_333ssb_am, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_332ssb_am};
static PyObject *__pyx_pw_8pysndlib_3clm_333ssb_am(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_insig;
PyObject *__pyx_v_fm = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ssb_am (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_insig,&__pyx_n_s_fm,0};
PyObject* values[3] = {0,0,0};
values[2] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2480, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_insig)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2480, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("ssb_am", 0, 2, 3, 1); __PYX_ERR(0, 2480, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fm);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2480, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "ssb_am") < 0)) __PYX_ERR(0, 2480, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_insig = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_insig == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2480, __pyx_L3_error)
__pyx_v_fm = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("ssb_am", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 2480, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.ssb_am", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2480, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_332ssb_am(__pyx_self, __pyx_v_gen, __pyx_v_insig, __pyx_v_fm);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_332ssb_am(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, PyObject *__pyx_v_fm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ssb_am", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.fm = __pyx_v_fm;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_ssb_am(__pyx_v_gen, __pyx_v_insig, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2480, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2480, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.ssb_am", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__363 = PyTuple_Pack(3, __pyx_n_s_gen, __pyx_n_s_insig, __pyx_n_s_fm); if (unlikely(!__pyx_tuple__363)) __PYX_ERR(0, 2480, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__363);
__Pyx_GIVEREF(__pyx_tuple__363);
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2480, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2480, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_insig, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2480, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_fm, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2480, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_333ssb_am, 0, __pyx_n_s_ssb_am, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__364)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2480, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ssb_am, __pyx_t_41) < 0) __PYX_ERR(0, 2480, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__364 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__363, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_ssb_am, 2480, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__364)) __PYX_ERR(0, 2480, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_ssb_am {
int __pyx_n;
PyObject *fm;
};
2481: """
2482: get the next sample from ssb_am generator
2483: """
+2484: if(fm):
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_fm); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 2484, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+2485: return cclm.mus_ssb_am(gen._ptr, insig, fm)
__pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_fm); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2485, __pyx_L1_error) __pyx_r = mus_ssb_am(__pyx_v_gen->_ptr, __pyx_v_insig, __pyx_t_2); goto __pyx_L0;
2486: else:
+2487: return cclm.mus_ssb_am_unmodulated(gen._ptr, insig)
/*else*/ {
__pyx_r = mus_ssb_am_unmodulated(__pyx_v_gen->_ptr, __pyx_v_insig);
goto __pyx_L0;
}
2488:
+2489: cpdef bint is_ssb_am(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_335is_ssb_am(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_ssb_am(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_ssb_am", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_335is_ssb_am(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_334is_ssb_am, "\n returns true if gen is a ssb_am\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_335is_ssb_am = {"is_ssb_am", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_335is_ssb_am, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_334is_ssb_am};
static PyObject *__pyx_pw_8pysndlib_3clm_335is_ssb_am(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_ssb_am (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2489, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_ssb_am") < 0)) __PYX_ERR(0, 2489, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_ssb_am", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2489, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_ssb_am", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2489, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_334is_ssb_am(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_334is_ssb_am(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_ssb_am", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_ssb_am(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2489, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2489, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_ssb_am", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2489, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2489, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_335is_ssb_am, 0, __pyx_n_s_is_ssb_am, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__365)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2489, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_ssb_am, __pyx_t_37) < 0) __PYX_ERR(0, 2489, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__365 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_ssb_am, 2489, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__365)) __PYX_ERR(0, 2489, __pyx_L1_error)
2490: """
2491: returns true if gen is a ssb_am
2492: :param gen: gen
2493: :return: result
2494: :rtype: bool
2495: """
+2496: return cclm.mus_is_ssb_am(gen._ptr)
__pyx_r = mus_is_ssb_am(__pyx_v_gen->_ptr); goto __pyx_L0;
2497:
2498:
2499:
2500: # ---------------- wave-train ----------------#
+2501: cpdef mus_any make_wave_train(frequency: cython.double, wave: npt.NDArray[np.float64], phase: Optional[cython.double]=0., interp_type=Interp.LINEAR):
static PyObject *__pyx_pw_8pysndlib_3clm_337make_wave_train(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_wave_train(double __pyx_v_frequency, PyObject *__pyx_v_wave, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_wave_train *__pyx_optional_args) {
PyObject *__pyx_v_phase = ((PyObject *)__pyx_float_0_);
PyObject *__pyx_v_interp_type = __pyx_k__25;
__Pyx_memviewslice __pyx_v_wave_view = { 0, 0, { 0 }, { 0 }, { 0 } };
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_wave_train", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_phase = __pyx_optional_args->phase;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_interp_type = __pyx_optional_args->interp_type;
}
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_5, 1);
__Pyx_AddTraceback("pysndlib.clm.make_wave_train", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_wave_view, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_337make_wave_train(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_336make_wave_train, "\n return a new wave-train generator (an extension of pulse-train). frequency is the repetition rate of the wave found in wave. successive waves can overlap.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_337make_wave_train = {"make_wave_train", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_337make_wave_train, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_336make_wave_train};
static PyObject *__pyx_pw_8pysndlib_3clm_337make_wave_train(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_frequency;
PyObject *__pyx_v_wave = 0;
PyObject *__pyx_v_phase = 0;
PyObject *__pyx_v_interp_type = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_wave_train (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frequency,&__pyx_n_s_wave,&__pyx_n_s_phase,&__pyx_n_s_interp_type,0};
PyObject* values[4] = {0,0,0,0};
values[2] = ((PyObject *)__pyx_float_0_);
values[3] = __pyx_k__25;
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frequency)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2501, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_wave)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2501, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_wave_train", 0, 2, 4, 1); __PYX_ERR(0, 2501, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_phase);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2501, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_interp_type);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2501, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_wave_train") < 0)) __PYX_ERR(0, 2501, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_frequency = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_frequency == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2501, __pyx_L3_error)
__pyx_v_wave = values[1];
__pyx_v_phase = values[2];
__pyx_v_interp_type = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_wave_train", 0, 2, 4, __pyx_nargs); __PYX_ERR(0, 2501, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_wave_train", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_336make_wave_train(__pyx_self, __pyx_v_frequency, __pyx_v_wave, __pyx_v_phase, __pyx_v_interp_type);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_336make_wave_train(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_frequency, PyObject *__pyx_v_wave, PyObject *__pyx_v_phase, PyObject *__pyx_v_interp_type) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_wave_train", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 2;
__pyx_t_2.phase = __pyx_v_phase;
__pyx_t_2.interp_type = __pyx_v_interp_type;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_wave_train(__pyx_v_frequency, __pyx_v_wave, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2501, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_wave_train", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_LINEAR); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2501, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__pyx_k__25 = __pyx_t_37;
__Pyx_GIVEREF(__pyx_t_37);
__pyx_t_37 = 0;
/* … */
__pyx_tuple__366 = PyTuple_Pack(4, __pyx_n_s_frequency, __pyx_n_s_wave, __pyx_n_s_phase, __pyx_n_s_interp_type); if (unlikely(!__pyx_tuple__366)) __PYX_ERR(0, 2501, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__366);
__Pyx_GIVEREF(__pyx_tuple__366);
__pyx_t_37 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_LINEAR); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2501, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__pyx_t_41 = PyTuple_New(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2501, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_INCREF(__pyx_float_0_);
__Pyx_GIVEREF(__pyx_float_0_);
PyTuple_SET_ITEM(__pyx_t_41, 0, __pyx_float_0_);
__Pyx_GIVEREF(__pyx_t_37);
PyTuple_SET_ITEM(__pyx_t_41, 1, __pyx_t_37);
__pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2501, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_frequency, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2501, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_wave, __pyx_kp_s_npt_NDArray_np_float64) < 0) __PYX_ERR(0, 2501, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_phase, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2501, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_337make_wave_train, 0, __pyx_n_s_make_wave_train, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__367)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2501, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_wave_train, __pyx_t_40) < 0) __PYX_ERR(0, 2501, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__367 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__366, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_wave_train, 2501, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__367)) __PYX_ERR(0, 2501, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_wave_train {
int __pyx_n;
PyObject *phase;
PyObject *interp_type;
};
2502: """
2503: return a new wave-train generator (an extension of pulse-train). frequency is the repetition rate of the wave found in wave. successive waves can overlap.
2504: """
+2505: check_ndim(wave)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2505, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_wave}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2505, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2506: cdef double [:] wave_view = wave
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_wave, PyBUF_WRITABLE); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 2506, __pyx_L1_error) __pyx_v_wave_view = __pyx_t_5; __pyx_t_5.memview = NULL; __pyx_t_5.data = NULL;
+2507: gen = mus_any.from_ptr(cclm.mus_make_wave_train(frequency, phase, &wave_view[0], len(wave), interp_type))
__pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_v_phase); if (unlikely((__pyx_t_6 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2507, __pyx_L1_error) __pyx_t_7 = 0; __pyx_t_4 = -1; if (__pyx_t_7 < 0) { __pyx_t_7 += __pyx_v_wave_view.shape[0]; if (unlikely(__pyx_t_7 < 0)) __pyx_t_4 = 0; } else if (unlikely(__pyx_t_7 >= __pyx_v_wave_view.shape[0])) __pyx_t_4 = 0; if (unlikely(__pyx_t_4 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_4); __PYX_ERR(0, 2507, __pyx_L1_error) } __pyx_t_8 = PyObject_Length(__pyx_v_wave); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2507, __pyx_L1_error) __pyx_t_9 = ((mus_interp_t)__Pyx_PyInt_As_mus_interp_t(__pyx_v_interp_type)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2507, __pyx_L1_error) __pyx_t_1 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_wave_train(__pyx_v_frequency, __pyx_t_6, (&(*((double *) ( /* dim=0 */ (__pyx_v_wave_view.data + __pyx_t_7 * __pyx_v_wave_view.strides[0]) )))), __pyx_t_8, __pyx_t_9), NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2507, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_1); __pyx_t_1 = 0;
+2508: gen.cache_append(wave)
__pyx_t_1 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_append(__pyx_v_gen, __pyx_v_wave, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2508, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2509: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
2510:
+2511: cpdef cython.double wave_train(gen: mus_any, fm: Optional[float]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_339wave_train(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_wave_train(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_wave_train *__pyx_optional_args) {
PyObject *__pyx_v_fm = ((PyObject *)Py_None);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("wave_train", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_fm = __pyx_optional_args->fm;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.wave_train", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_339wave_train(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_338wave_train, "\n next sample of wave_train\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_339wave_train = {"wave_train", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_339wave_train, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_338wave_train};
static PyObject *__pyx_pw_8pysndlib_3clm_339wave_train(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_fm = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("wave_train (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_fm,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2511, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fm);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2511, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "wave_train") < 0)) __PYX_ERR(0, 2511, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_fm = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("wave_train", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 2511, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.wave_train", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2511, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_338wave_train(__pyx_self, __pyx_v_gen, __pyx_v_fm);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_338wave_train(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_fm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("wave_train", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.fm = __pyx_v_fm;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_wave_train(__pyx_v_gen, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2511, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2511, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.wave_train", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2511, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2511, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_fm, __pyx_kp_s_Optional_float) < 0) __PYX_ERR(0, 2511, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_339wave_train, 0, __pyx_n_s_wave_train, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__368)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2511, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_wave_train, __pyx_t_37) < 0) __PYX_ERR(0, 2511, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__368 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__292, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_wave_train, 2511, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__368)) __PYX_ERR(0, 2511, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_wave_train {
int __pyx_n;
PyObject *fm;
};
2512: """
2513: next sample of wave_train
2514: """
+2515: if fm:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_fm); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 2515, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+2516: return cclm.mus_wave_train(gen._ptr, fm)
__pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_fm); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2516, __pyx_L1_error) __pyx_r = mus_wave_train(__pyx_v_gen->_ptr, __pyx_t_2); goto __pyx_L0;
2517: else:
+2518: return cclm.mus_wave_train_unmodulated(gen._ptr)
/*else*/ {
__pyx_r = mus_wave_train_unmodulated(__pyx_v_gen->_ptr);
goto __pyx_L0;
}
2519:
+2520: cpdef bint is_wave_train(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_341is_wave_train(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_wave_train(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_wave_train", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_341is_wave_train(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_340is_wave_train, "\n returns true if gen is a wave_train\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_341is_wave_train = {"is_wave_train", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_341is_wave_train, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_340is_wave_train};
static PyObject *__pyx_pw_8pysndlib_3clm_341is_wave_train(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_wave_train (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2520, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_wave_train") < 0)) __PYX_ERR(0, 2520, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_wave_train", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2520, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_wave_train", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2520, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_340is_wave_train(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_340is_wave_train(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_wave_train", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_wave_train(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2520, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2520, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_wave_train", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2520, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2520, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_341is_wave_train, 0, __pyx_n_s_is_wave_train, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__369)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2520, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_wave_train, __pyx_t_40) < 0) __PYX_ERR(0, 2520, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__369 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_wave_train, 2520, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__369)) __PYX_ERR(0, 2520, __pyx_L1_error)
2521: """
2522: returns true if gen is a wave_train
2523: :param gen: gen
2524: :return: result
2525: :rtype: bool
2526: """
+2527: return cclm.mus_is_wave_train(gen._ptr)
__pyx_r = mus_is_wave_train(__pyx_v_gen->_ptr); goto __pyx_L0;
2528:
2529:
+2530: cpdef mus_any make_wave_train_with_env(frequency: cython.double, pulse_env, size=None):
static PyObject *__pyx_pw_8pysndlib_3clm_343make_wave_train_with_env(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_wave_train_with_env(double __pyx_v_frequency, PyObject *__pyx_v_pulse_env, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_wave_train_with_env *__pyx_optional_args) {
PyObject *__pyx_v_size = ((PyObject *)Py_None);
PyObject *__pyx_v_wave = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_e = NULL;
PyObject *__pyx_v_i = NULL;
__Pyx_memviewslice __pyx_v_wave_view = { 0, 0, { 0 }, { 0 }, { 0 } };
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_wave_train_with_env", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_size = __pyx_optional_args->size;
}
}
__Pyx_INCREF(__pyx_v_size);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_6);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_10, 1);
__Pyx_AddTraceback("pysndlib.clm.make_wave_train_with_env", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_wave);
__Pyx_XDECREF((PyObject *)__pyx_v_e);
__Pyx_XDECREF(__pyx_v_i);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_wave_view, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XDECREF(__pyx_v_size);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_343make_wave_train_with_env(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_343make_wave_train_with_env = {"make_wave_train_with_env", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_343make_wave_train_with_env, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_343make_wave_train_with_env(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_frequency;
PyObject *__pyx_v_pulse_env = 0;
PyObject *__pyx_v_size = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_wave_train_with_env (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frequency,&__pyx_n_s_pulse_env,&__pyx_n_s_size,0};
PyObject* values[3] = {0,0,0};
values[2] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frequency)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2530, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pulse_env)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2530, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_wave_train_with_env", 0, 2, 3, 1); __PYX_ERR(0, 2530, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2530, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_wave_train_with_env") < 0)) __PYX_ERR(0, 2530, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_frequency = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_frequency == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2530, __pyx_L3_error)
__pyx_v_pulse_env = values[1];
__pyx_v_size = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_wave_train_with_env", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 2530, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_wave_train_with_env", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_342make_wave_train_with_env(__pyx_self, __pyx_v_frequency, __pyx_v_pulse_env, __pyx_v_size);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_342make_wave_train_with_env(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_frequency, PyObject *__pyx_v_pulse_env, PyObject *__pyx_v_size) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_wave_train_with_env", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.size = __pyx_v_size;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_wave_train_with_env(__pyx_v_frequency, __pyx_v_pulse_env, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2530, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_wave_train_with_env", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__370 = PyTuple_Pack(3, __pyx_n_s_frequency, __pyx_n_s_pulse_env, __pyx_n_s_size); if (unlikely(!__pyx_tuple__370)) __PYX_ERR(0, 2530, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__370);
__Pyx_GIVEREF(__pyx_tuple__370);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2530, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_frequency, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2530, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_343make_wave_train_with_env, 0, __pyx_n_s_make_wave_train_with_env, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__371)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2530, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_wave_train_with_env, __pyx_t_37) < 0) __PYX_ERR(0, 2530, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__371 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__370, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_wave_train_with_env, 2530, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__371)) __PYX_ERR(0, 2530, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_wave_train_with_env {
int __pyx_n;
PyObject *size;
};
+2531: size = size or CLM.table_size
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_size); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2531, __pyx_L1_error) if (!__pyx_t_2) { } else { __Pyx_INCREF(__pyx_v_size); __pyx_t_1 = __pyx_v_size; goto __pyx_L3_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CLM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_table_size); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_INCREF(__pyx_t_4); __pyx_t_1 = __pyx_t_4; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_L3_bool_binop_done:; __Pyx_DECREF_SET(__pyx_v_size, __pyx_t_1); __pyx_t_1 = 0;
+2532: wave = np.zeros(size)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_size}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_wave = __pyx_t_1; __pyx_t_1 = 0;
+2533: e = make_env(pulse_env, length=size)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_make_env); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2533, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2533, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_pulse_env); __Pyx_GIVEREF(__pyx_v_pulse_env); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_pulse_env); __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2533, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_length, __pyx_v_size) < 0) __PYX_ERR(0, 2533, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2533, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_8pysndlib_3clm_mus_any))))) __PYX_ERR(0, 2533, __pyx_L1_error) __pyx_v_e = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_6); __pyx_t_6 = 0;
+2534: for i in range(size):
__pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_v_size); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { __pyx_t_4 = __pyx_t_6; __Pyx_INCREF(__pyx_t_4); __pyx_t_7 = 0; __pyx_t_8 = NULL; } else { __pyx_t_7 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2534, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(0, 2534, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(0, 2534, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } } else { __pyx_t_6 = __pyx_t_8(__pyx_t_4); if (unlikely(!__pyx_t_6)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2534, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_6); } __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2535: wave[i] = env(e)
__pyx_t_9 = __pyx_f_8pysndlib_3clm_env(__pyx_v_e, 0); if (unlikely(__pyx_t_9 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2535, __pyx_L1_error) __pyx_t_6 = PyFloat_FromDouble(__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely((PyObject_SetItem(__pyx_v_wave, __pyx_v_i, __pyx_t_6) < 0))) __PYX_ERR(0, 2535, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+2536: cdef double [:] wave_view = wave
__pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_wave, PyBUF_WRITABLE); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(0, 2536, __pyx_L1_error) __pyx_v_wave_view = __pyx_t_10; __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL;
+2537: gen = mus_any.from_ptr(cclm.mus_make_wave_train(frequency, 0.0, &wave_view[0], size, <cclm.mus_interp_t>Interp.LINEAR))
__pyx_t_11 = 0;
__pyx_t_5 = -1;
if (__pyx_t_11 < 0) {
__pyx_t_11 += __pyx_v_wave_view.shape[0];
if (unlikely(__pyx_t_11 < 0)) __pyx_t_5 = 0;
} else if (unlikely(__pyx_t_11 >= __pyx_v_wave_view.shape[0])) __pyx_t_5 = 0;
if (unlikely(__pyx_t_5 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_5);
__PYX_ERR(0, 2537, __pyx_L1_error)
}
__pyx_t_12 = __Pyx_PyInt_As_mus_long_t(__pyx_v_size); if (unlikely((__pyx_t_12 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2537, __pyx_L1_error)
__pyx_t_4 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_wave_train(__pyx_v_frequency, 0.0, (&(*((double *) ( /* dim=0 */ (__pyx_v_wave_view.data + __pyx_t_11 * __pyx_v_wave_view.strides[0]) )))), __pyx_t_12, ((mus_interp_t)__pyx_e_8pysndlib_3clm_LINEAR)), NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2537, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_4);
__pyx_t_4 = 0;
+2538: gen.cache_append(wave)
__pyx_t_4 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_append(__pyx_v_gen, __pyx_v_wave, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2538, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2539: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
2540:
2541: # ---------------- rand, rand_interp ---------------- #
+2542: cpdef mus_any make_rand(frequency: cython.double, amplitude: Optional[cython.double]=1.0, distribution=None):
static PyObject *__pyx_pw_8pysndlib_3clm_345make_rand(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_rand(double __pyx_v_frequency, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_rand *__pyx_optional_args) {
PyObject *__pyx_v_amplitude = ((PyObject *)__pyx_float_1_0);
PyObject *__pyx_v_distribution = ((PyObject *)Py_None);
__Pyx_memviewslice __pyx_v_distribution_view = { 0, 0, { 0 }, { 0 }, { 0 } };
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_rand", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_amplitude = __pyx_optional_args->amplitude;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_distribution = __pyx_optional_args->distribution;
}
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("pysndlib.clm.make_rand", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_distribution_view, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_345make_rand(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_344make_rand, "\n return a new rand generator, producing a sequence of random numbers (a step function). frequency is the rate at which new numbers are chosen.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_345make_rand = {"make_rand", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_345make_rand, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_344make_rand};
static PyObject *__pyx_pw_8pysndlib_3clm_345make_rand(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_frequency;
PyObject *__pyx_v_amplitude = 0;
PyObject *__pyx_v_distribution = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_rand (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frequency,&__pyx_n_s_amplitude,&__pyx_n_s_distribution,0};
PyObject* values[3] = {0,0,0};
values[1] = ((PyObject *)__pyx_float_1_0);
values[2] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frequency)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2542, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_amplitude);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2542, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_distribution);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2542, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_rand") < 0)) __PYX_ERR(0, 2542, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_frequency = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_frequency == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2542, __pyx_L3_error)
__pyx_v_amplitude = values[1];
__pyx_v_distribution = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_rand", 0, 1, 3, __pyx_nargs); __PYX_ERR(0, 2542, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_rand", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_344make_rand(__pyx_self, __pyx_v_frequency, __pyx_v_amplitude, __pyx_v_distribution);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_344make_rand(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_frequency, PyObject *__pyx_v_amplitude, PyObject *__pyx_v_distribution) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_rand", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 2;
__pyx_t_2.amplitude = __pyx_v_amplitude;
__pyx_t_2.distribution = __pyx_v_distribution;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_rand(__pyx_v_frequency, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2542, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_rand", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__372 = PyTuple_Pack(3, __pyx_n_s_frequency, __pyx_n_s_amplitude, __pyx_n_s_distribution); if (unlikely(!__pyx_tuple__372)) __PYX_ERR(0, 2542, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__372);
__Pyx_GIVEREF(__pyx_tuple__372);
__pyx_codeobj__373 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__372, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_rand, 2542, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__373)) __PYX_ERR(0, 2542, __pyx_L1_error)
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2542, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_frequency, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2542, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_amplitude, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2542, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_345make_rand, 0, __pyx_n_s_make_rand, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__373)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2542, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_tuple__374);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_rand, __pyx_t_40) < 0) __PYX_ERR(0, 2542, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_tuple__374 = PyTuple_Pack(2, __pyx_float_1_0, Py_None); if (unlikely(!__pyx_tuple__374)) __PYX_ERR(0, 2542, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__374);
__Pyx_GIVEREF(__pyx_tuple__374);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_rand {
int __pyx_n;
PyObject *amplitude;
PyObject *distribution;
};
2543: """
2544: return a new rand generator, producing a sequence of random numbers (a step function). frequency is the rate at which new numbers are chosen.
2545: """
+2546: cdef double [:] distribution_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2546, __pyx_L1_error) __pyx_v_distribution_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
2547:
+2548: if distribution:
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_distribution); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2548, __pyx_L1_error) if (__pyx_t_2) { /* … */ }
+2549: check_ndim(distribution)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2549, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_distribution}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2549, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+2550: distribution_view = distribution
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_distribution, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2550, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_distribution_view, 1); __pyx_v_distribution_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
+2551: gen = mus_any.from_ptr(cclm.mus_make_rand_with_distribution(frequency, amplitude, &distribution_view[0], len(distribution)))
__pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_v_amplitude); if (unlikely((__pyx_t_7 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2551, __pyx_L1_error) __pyx_t_8 = 0; __pyx_t_6 = -1; if (__pyx_t_8 < 0) { __pyx_t_8 += __pyx_v_distribution_view.shape[0]; if (unlikely(__pyx_t_8 < 0)) __pyx_t_6 = 0; } else if (unlikely(__pyx_t_8 >= __pyx_v_distribution_view.shape[0])) __pyx_t_6 = 0; if (unlikely(__pyx_t_6 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_6); __PYX_ERR(0, 2551, __pyx_L1_error) } __pyx_t_9 = PyObject_Length(__pyx_v_distribution); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2551, __pyx_L1_error) __pyx_t_3 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_rand_with_distribution(__pyx_v_frequency, __pyx_t_7, (&(*((double *) ( /* dim=0 */ (__pyx_v_distribution_view.data + __pyx_t_8 * __pyx_v_distribution_view.strides[0]) )))), __pyx_t_9), NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2551, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_3); __pyx_t_3 = 0;
+2552: gen.cache_append(distribution)
__pyx_t_3 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_append(__pyx_v_gen, __pyx_v_distribution, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2552, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+2553: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
2554: else:
+2555: return mus_any.from_ptr(cclm.mus_make_rand(frequency, amplitude))
/*else*/ {
__Pyx_XDECREF((PyObject *)__pyx_r);
__pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_v_amplitude); if (unlikely((__pyx_t_7 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2555, __pyx_L1_error)
__pyx_t_3 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_rand(__pyx_v_frequency, __pyx_t_7), NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2555, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_3);
__pyx_t_3 = 0;
goto __pyx_L0;
}
2556:
+2557: cpdef cython.double rand(gen: mus_any, sweep: Optional[cython.double]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_347rand(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_rand(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_rand *__pyx_optional_args) {
PyObject *__pyx_v_sweep = ((PyObject *)Py_None);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("rand", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_sweep = __pyx_optional_args->sweep;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.rand", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_347rand(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_346rand, "\n gen's current random number. fm modulates the rate at which the current number is changed.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_347rand = {"rand", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_347rand, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_346rand};
static PyObject *__pyx_pw_8pysndlib_3clm_347rand(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_sweep = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("rand (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_sweep,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2557, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_sweep);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2557, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "rand") < 0)) __PYX_ERR(0, 2557, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_sweep = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("rand", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 2557, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.rand", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2557, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_346rand(__pyx_self, __pyx_v_gen, __pyx_v_sweep);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_346rand(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_sweep) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("rand", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.sweep = __pyx_v_sweep;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_rand(__pyx_v_gen, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2557, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2557, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.rand", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__375 = PyTuple_Pack(2, __pyx_n_s_gen, __pyx_n_s_sweep); if (unlikely(!__pyx_tuple__375)) __PYX_ERR(0, 2557, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__375);
__Pyx_GIVEREF(__pyx_tuple__375);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2557, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2557, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_sweep, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2557, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_347rand, 0, __pyx_n_s_rand, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__376)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2557, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_rand, __pyx_t_37) < 0) __PYX_ERR(0, 2557, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__376 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__375, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_rand, 2557, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__376)) __PYX_ERR(0, 2557, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_rand {
int __pyx_n;
PyObject *sweep;
};
2558: """
2559: gen's current random number. fm modulates the rate at which the current number is changed.
2560: """
+2561: if(sweep):
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_sweep); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 2561, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+2562: return cclm.mus_rand(gen._ptr, sweep)
__pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_sweep); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2562, __pyx_L1_error) __pyx_r = mus_rand(__pyx_v_gen->_ptr, __pyx_t_2); goto __pyx_L0;
2563: else:
+2564: return cclm.mus_rand_unmodulated(gen._ptr)
/*else*/ {
__pyx_r = mus_rand_unmodulated(__pyx_v_gen->_ptr);
goto __pyx_L0;
}
2565:
+2566: cpdef bint is_rand(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_349is_rand(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_rand(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_rand", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_349is_rand(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_348is_rand, "\n returns true if gen is a rand\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_349is_rand = {"is_rand", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_349is_rand, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_348is_rand};
static PyObject *__pyx_pw_8pysndlib_3clm_349is_rand(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_rand (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2566, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_rand") < 0)) __PYX_ERR(0, 2566, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_rand", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2566, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_rand", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2566, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_348is_rand(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_348is_rand(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_rand", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_rand(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2566, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_rand", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2566, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_349is_rand, 0, __pyx_n_s_is_rand, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__377)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_rand, __pyx_t_40) < 0) __PYX_ERR(0, 2566, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__377 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_rand, 2566, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__377)) __PYX_ERR(0, 2566, __pyx_L1_error)
2567: """
2568: returns true if gen is a rand
2569: :param gen: gen
2570: :return: result
2571: :rtype: bool
2572: """
+2573: return cclm.mus_is_rand(gen._ptr)
__pyx_r = mus_is_rand(__pyx_v_gen->_ptr); goto __pyx_L0;
2574:
+2575: cpdef mus_any make_rand_interp(frequency: cython.double, amplitude: cython.double, distribution=None):
static PyObject *__pyx_pw_8pysndlib_3clm_351make_rand_interp(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_rand_interp(double __pyx_v_frequency, double __pyx_v_amplitude, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_rand_interp *__pyx_optional_args) {
PyObject *__pyx_v_distribution = ((PyObject *)Py_None);
__Pyx_memviewslice __pyx_v_distribution_view = { 0, 0, { 0 }, { 0 }, { 0 } };
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_rand_interp", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_distribution = __pyx_optional_args->distribution;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("pysndlib.clm.make_rand_interp", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_distribution_view, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_351make_rand_interp(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_350make_rand_interp, "\n return a new rand_interp generator, producing linearly interpolated random numbers. frequency is the rate at which new end-points are chosen.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_351make_rand_interp = {"make_rand_interp", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_351make_rand_interp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_350make_rand_interp};
static PyObject *__pyx_pw_8pysndlib_3clm_351make_rand_interp(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_frequency;
double __pyx_v_amplitude;
PyObject *__pyx_v_distribution = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_rand_interp (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frequency,&__pyx_n_s_amplitude,&__pyx_n_s_distribution,0};
PyObject* values[3] = {0,0,0};
values[2] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frequency)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2575, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_amplitude)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2575, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_rand_interp", 0, 2, 3, 1); __PYX_ERR(0, 2575, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_distribution);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2575, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_rand_interp") < 0)) __PYX_ERR(0, 2575, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_frequency = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_frequency == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2575, __pyx_L3_error)
__pyx_v_amplitude = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_amplitude == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2575, __pyx_L3_error)
__pyx_v_distribution = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_rand_interp", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 2575, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_rand_interp", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_350make_rand_interp(__pyx_self, __pyx_v_frequency, __pyx_v_amplitude, __pyx_v_distribution);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_350make_rand_interp(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_frequency, double __pyx_v_amplitude, PyObject *__pyx_v_distribution) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_rand_interp", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.distribution = __pyx_v_distribution;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_rand_interp(__pyx_v_frequency, __pyx_v_amplitude, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2575, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_rand_interp", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2575, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_frequency, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2575, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_amplitude, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2575, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_351make_rand_interp, 0, __pyx_n_s_make_rand_interp, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__378)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2575, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_rand_interp, __pyx_t_37) < 0) __PYX_ERR(0, 2575, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__378 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__372, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_rand_interp, 2575, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__378)) __PYX_ERR(0, 2575, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_rand_interp {
int __pyx_n;
PyObject *distribution;
};
2576: """
2577: return a new rand_interp generator, producing linearly interpolated random numbers. frequency is the rate at which new end-points are chosen.
2578: """
2579:
+2580: cdef double [:] distribution_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2580, __pyx_L1_error) __pyx_v_distribution_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
2581:
+2582: if distribution:
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_distribution); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2582, __pyx_L1_error) if (__pyx_t_2) { /* … */ }
+2583: check_ndim(distribution)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_distribution}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+2584: distribution_view = distribution
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_distribution, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2584, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_distribution_view, 1); __pyx_v_distribution_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
+2585: gen = mus_any.from_ptr(cclm.mus_make_rand_interp_with_distribution(frequency, amplitude, &distribution_view[0], len(distribution)))
__pyx_t_7 = 0;
__pyx_t_6 = -1;
if (__pyx_t_7 < 0) {
__pyx_t_7 += __pyx_v_distribution_view.shape[0];
if (unlikely(__pyx_t_7 < 0)) __pyx_t_6 = 0;
} else if (unlikely(__pyx_t_7 >= __pyx_v_distribution_view.shape[0])) __pyx_t_6 = 0;
if (unlikely(__pyx_t_6 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_6);
__PYX_ERR(0, 2585, __pyx_L1_error)
}
__pyx_t_8 = PyObject_Length(__pyx_v_distribution); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2585, __pyx_L1_error)
__pyx_t_3 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_rand_interp_with_distribution(__pyx_v_frequency, __pyx_v_amplitude, (&(*((double *) ( /* dim=0 */ (__pyx_v_distribution_view.data + __pyx_t_7 * __pyx_v_distribution_view.strides[0]) )))), __pyx_t_8), NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2585, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_3);
__pyx_t_3 = 0;
+2586: gen.cache_append(distribution)
__pyx_t_3 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_append(__pyx_v_gen, __pyx_v_distribution, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2586, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+2587: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
2588: else:
+2589: return mus_any.from_ptr(cclm.mus_make_rand_interp(frequency, amplitude))
/*else*/ {
__Pyx_XDECREF((PyObject *)__pyx_r);
__pyx_t_3 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_rand_interp(__pyx_v_frequency, __pyx_v_amplitude), NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2589, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_3);
__pyx_t_3 = 0;
goto __pyx_L0;
}
2590:
+2591: cpdef rand_interp(gen: mus_any, sweep: Optional[cython.double]=0.):
static PyObject *__pyx_pw_8pysndlib_3clm_353rand_interp(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_rand_interp(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_rand_interp *__pyx_optional_args) {
PyObject *__pyx_v_sweep = ((PyObject *)__pyx_float_0_);
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("rand_interp", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_sweep = __pyx_optional_args->sweep;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.rand_interp", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_353rand_interp(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_352rand_interp, "\n gen's current (interpolating) random number. fm modulates the rate at which new segment end-points are chosen.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_353rand_interp = {"rand_interp", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_353rand_interp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_352rand_interp};
static PyObject *__pyx_pw_8pysndlib_3clm_353rand_interp(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_sweep = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("rand_interp (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_sweep,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)__pyx_float_0_);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2591, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_sweep);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2591, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "rand_interp") < 0)) __PYX_ERR(0, 2591, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_sweep = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("rand_interp", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 2591, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.rand_interp", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2591, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_352rand_interp(__pyx_self, __pyx_v_gen, __pyx_v_sweep);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_352rand_interp(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_sweep) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("rand_interp", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.sweep = __pyx_v_sweep;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_rand_interp(__pyx_v_gen, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2591, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.rand_interp", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_codeobj__379 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__375, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_rand_interp, 2591, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__379)) __PYX_ERR(0, 2591, __pyx_L1_error)
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2591, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2591, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_sweep, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2591, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_353rand_interp, 0, __pyx_n_s_rand_interp, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__379)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2591, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_tuple__380);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_rand_interp, __pyx_t_40) < 0) __PYX_ERR(0, 2591, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_tuple__380 = PyTuple_Pack(1, __pyx_float_0_); if (unlikely(!__pyx_tuple__380)) __PYX_ERR(0, 2591, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__380);
__Pyx_GIVEREF(__pyx_tuple__380);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_rand_interp {
int __pyx_n;
PyObject *sweep;
};
2592: """
2593: gen's current (interpolating) random number. fm modulates the rate at which new segment end-points are chosen.
2594: """
+2595: if(sweep):
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_sweep); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 2595, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+2596: return cclm.mus_rand_interp(gen._ptr, sweep)
__Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_sweep); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2596, __pyx_L1_error) __pyx_t_3 = PyFloat_FromDouble(mus_rand_interp(__pyx_v_gen->_ptr, __pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2596, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0;
2597: else:
+2598: return cclm.mus_rand_interp_unmodulated(gen._ptr)
/*else*/ {
__Pyx_XDECREF(__pyx_r);
__pyx_t_3 = PyFloat_FromDouble(mus_rand_interp_unmodulated(__pyx_v_gen->_ptr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2598, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
}
2599:
+2600: cpdef bint is_rand_interp(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_355is_rand_interp(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_rand_interp(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_rand_interp", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_355is_rand_interp(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_354is_rand_interp, "\n returns true if gen is a rand_interp\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_355is_rand_interp = {"is_rand_interp", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_355is_rand_interp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_354is_rand_interp};
static PyObject *__pyx_pw_8pysndlib_3clm_355is_rand_interp(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_rand_interp (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2600, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_rand_interp") < 0)) __PYX_ERR(0, 2600, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_rand_interp", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2600, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_rand_interp", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2600, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_354is_rand_interp(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_354is_rand_interp(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_rand_interp", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_rand_interp(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2600, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2600, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_rand_interp", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2600, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2600, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_355is_rand_interp, 0, __pyx_n_s_is_rand_interp, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__381)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2600, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_rand_interp, __pyx_t_37) < 0) __PYX_ERR(0, 2600, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__381 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_rand_interp, 2600, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__381)) __PYX_ERR(0, 2600, __pyx_L1_error)
2601: """
2602: returns true if gen is a rand_interp
2603: :param gen: gen
2604: :return: result
2605: :rtype: bool
2606: """
+2607: return cclm.mus_is_rand_interp(gen._ptr)
__pyx_r = mus_is_rand_interp(__pyx_v_gen->_ptr); goto __pyx_L0;
2608:
2609:
2610: # ---------------- simple filters ---------------- #
+2611: cpdef mus_any make_one_pole(a0: cython.double, b1: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_357make_one_pole(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_one_pole(double __pyx_v_a0, double __pyx_v_b1, CYTHON_UNUSED int __pyx_skip_dispatch) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_one_pole", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_one_pole", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_357make_one_pole(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_356make_one_pole, "\n return a new one_pole filter; a0*x(n) - b1*y(n-1)\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_357make_one_pole = {"make_one_pole", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_357make_one_pole, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_356make_one_pole};
static PyObject *__pyx_pw_8pysndlib_3clm_357make_one_pole(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_a0;
double __pyx_v_b1;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_one_pole (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a0,&__pyx_n_s_b1,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_a0)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2611, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_b1)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2611, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_one_pole", 1, 2, 2, 1); __PYX_ERR(0, 2611, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_one_pole") < 0)) __PYX_ERR(0, 2611, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_a0 = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_a0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2611, __pyx_L3_error)
__pyx_v_b1 = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_b1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2611, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_one_pole", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2611, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_one_pole", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_356make_one_pole(__pyx_self, __pyx_v_a0, __pyx_v_b1);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_356make_one_pole(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_a0, double __pyx_v_b1) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_one_pole", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_one_pole(__pyx_v_a0, __pyx_v_b1, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2611, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_one_pole", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__382 = PyTuple_Pack(2, __pyx_n_s_a0, __pyx_n_s_b1); if (unlikely(!__pyx_tuple__382)) __PYX_ERR(0, 2611, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__382);
__Pyx_GIVEREF(__pyx_tuple__382);
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2611, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_a0, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2611, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_b1, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2611, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_357make_one_pole, 0, __pyx_n_s_make_one_pole, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__383)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2611, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_one_pole, __pyx_t_40) < 0) __PYX_ERR(0, 2611, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__383 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__382, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_one_pole, 2611, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__383)) __PYX_ERR(0, 2611, __pyx_L1_error)
2612: """
2613: return a new one_pole filter; a0*x(n) - b1*y(n-1)
2614: """
+2615: return mus_any.from_ptr(cclm.mus_make_one_pole(a0, b1))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_1 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_one_pole(__pyx_v_a0, __pyx_v_b1), NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2615, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0;
2616:
+2617: cpdef cython.double one_pole(gen: mus_any, insig: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_359one_pole(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_one_pole(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("one_pole", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_359one_pole(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_358one_pole, "\n one pole filter of input.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_359one_pole = {"one_pole", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_359one_pole, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_358one_pole};
static PyObject *__pyx_pw_8pysndlib_3clm_359one_pole(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_insig;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("one_pole (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_insig,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2617, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_insig)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2617, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("one_pole", 1, 2, 2, 1); __PYX_ERR(0, 2617, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "one_pole") < 0)) __PYX_ERR(0, 2617, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_insig = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_insig == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2617, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("one_pole", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2617, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.one_pole", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2617, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_358one_pole(__pyx_self, __pyx_v_gen, __pyx_v_insig);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_358one_pole(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("one_pole", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_one_pole(__pyx_v_gen, __pyx_v_insig, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2617, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2617, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.one_pole", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__384 = PyTuple_Pack(2, __pyx_n_s_gen, __pyx_n_s_insig); if (unlikely(!__pyx_tuple__384)) __PYX_ERR(0, 2617, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__384);
__Pyx_GIVEREF(__pyx_tuple__384);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2617, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2617, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_insig, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2617, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_359one_pole, 0, __pyx_n_s_one_pole, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__385)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2617, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_one_pole, __pyx_t_37) < 0) __PYX_ERR(0, 2617, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__385 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__384, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_one_pole, 2617, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__385)) __PYX_ERR(0, 2617, __pyx_L1_error)
2618: """
2619: one pole filter of input.
2620: """
+2621: return cclm.mus_one_pole(gen._ptr, insig)
__pyx_r = mus_one_pole(__pyx_v_gen->_ptr, __pyx_v_insig); goto __pyx_L0;
2622:
+2623: cpdef bint is_one_pole(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_361is_one_pole(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_one_pole(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_one_pole", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_361is_one_pole(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_360is_one_pole, "\n returns true if gen is a one_pole\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_361is_one_pole = {"is_one_pole", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_361is_one_pole, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_360is_one_pole};
static PyObject *__pyx_pw_8pysndlib_3clm_361is_one_pole(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_one_pole (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2623, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_one_pole") < 0)) __PYX_ERR(0, 2623, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_one_pole", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2623, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_one_pole", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2623, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_360is_one_pole(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_360is_one_pole(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_one_pole", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_one_pole(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2623, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2623, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_one_pole", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2623, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2623, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_361is_one_pole, 0, __pyx_n_s_is_one_pole, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__386)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2623, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_one_pole, __pyx_t_40) < 0) __PYX_ERR(0, 2623, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__386 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_one_pole, 2623, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__386)) __PYX_ERR(0, 2623, __pyx_L1_error)
2624: """
2625: returns true if gen is a one_pole
2626: :param gen: gen
2627: :return: result
2628: :rtype: bool
2629: """
+2630: return cclm.mus_is_one_pole(gen._ptr)
__pyx_r = mus_is_one_pole(__pyx_v_gen->_ptr); goto __pyx_L0;
2631:
+2632: cpdef mus_any make_one_zero(a0: cython.double, a1: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_363make_one_zero(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_one_zero(double __pyx_v_a0, double __pyx_v_a1, CYTHON_UNUSED int __pyx_skip_dispatch) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_one_zero", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_one_zero", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_363make_one_zero(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_362make_one_zero, "\n return a new one_zero filter; a0*x(n) + a1*x(n-1)\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_363make_one_zero = {"make_one_zero", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_363make_one_zero, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_362make_one_zero};
static PyObject *__pyx_pw_8pysndlib_3clm_363make_one_zero(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_a0;
double __pyx_v_a1;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_one_zero (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_a0,&__pyx_n_s_a1,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_a0)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2632, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_a1)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2632, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_one_zero", 1, 2, 2, 1); __PYX_ERR(0, 2632, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_one_zero") < 0)) __PYX_ERR(0, 2632, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_a0 = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_a0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2632, __pyx_L3_error)
__pyx_v_a1 = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_a1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2632, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_one_zero", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2632, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_one_zero", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_362make_one_zero(__pyx_self, __pyx_v_a0, __pyx_v_a1);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_362make_one_zero(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_a0, double __pyx_v_a1) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_one_zero", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_one_zero(__pyx_v_a0, __pyx_v_a1, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2632, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_one_zero", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__387 = PyTuple_Pack(2, __pyx_n_s_a0, __pyx_n_s_a1); if (unlikely(!__pyx_tuple__387)) __PYX_ERR(0, 2632, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__387);
__Pyx_GIVEREF(__pyx_tuple__387);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2632, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_a0, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2632, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_a1, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2632, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_363make_one_zero, 0, __pyx_n_s_make_one_zero, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__388)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2632, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_one_zero, __pyx_t_37) < 0) __PYX_ERR(0, 2632, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__388 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__387, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_one_zero, 2632, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__388)) __PYX_ERR(0, 2632, __pyx_L1_error)
2633: """
2634: return a new one_zero filter; a0*x(n) + a1*x(n-1)
2635: """
+2636: return mus_any.from_ptr(cclm.mus_make_one_zero(a0, a1))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_1 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_one_zero(__pyx_v_a0, __pyx_v_a1), NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0;
2637:
+2638: cpdef cython.double one_zero(gen: mus_any, insig: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_365one_zero(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_one_zero(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("one_zero", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_365one_zero(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_364one_zero, "\n one zero filter of input.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_365one_zero = {"one_zero", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_365one_zero, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_364one_zero};
static PyObject *__pyx_pw_8pysndlib_3clm_365one_zero(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_insig;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("one_zero (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_insig,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2638, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_insig)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2638, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("one_zero", 1, 2, 2, 1); __PYX_ERR(0, 2638, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "one_zero") < 0)) __PYX_ERR(0, 2638, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_insig = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_insig == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2638, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("one_zero", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2638, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.one_zero", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2638, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_364one_zero(__pyx_self, __pyx_v_gen, __pyx_v_insig);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_364one_zero(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("one_zero", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_one_zero(__pyx_v_gen, __pyx_v_insig, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2638, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2638, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.one_zero", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2638, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2638, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_insig, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2638, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_365one_zero, 0, __pyx_n_s_one_zero, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__389)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2638, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_one_zero, __pyx_t_40) < 0) __PYX_ERR(0, 2638, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__389 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__384, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_one_zero, 2638, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__389)) __PYX_ERR(0, 2638, __pyx_L1_error)
2639: """
2640: one zero filter of input.
2641: """
+2642: return cclm.mus_one_zero(gen._ptr, insig)
__pyx_r = mus_one_zero(__pyx_v_gen->_ptr, __pyx_v_insig); goto __pyx_L0;
2643:
+2644: cpdef bint is_one_zero(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_367is_one_zero(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_one_zero(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_one_zero", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_367is_one_zero(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_366is_one_zero, "\n returns true if gen is a one_zero\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_367is_one_zero = {"is_one_zero", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_367is_one_zero, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_366is_one_zero};
static PyObject *__pyx_pw_8pysndlib_3clm_367is_one_zero(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_one_zero (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2644, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_one_zero") < 0)) __PYX_ERR(0, 2644, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_one_zero", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2644, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_one_zero", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2644, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_366is_one_zero(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_366is_one_zero(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_one_zero", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_one_zero(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2644, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_one_zero", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2644, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_367is_one_zero, 0, __pyx_n_s_is_one_zero, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__390)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2644, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_one_zero, __pyx_t_37) < 0) __PYX_ERR(0, 2644, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__390 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_one_zero, 2644, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__390)) __PYX_ERR(0, 2644, __pyx_L1_error)
2645: """
2646: returns true if gen is a one_zero
2647: :param gen: gen
2648: :return: result
2649: :rtype: bool
2650: """
+2651: return cclm.mus_is_one_zero(gen._ptr)
__pyx_r = mus_is_one_zero(__pyx_v_gen->_ptr); goto __pyx_L0;
2652:
2653: # make def for *args. are there other ways
+2654: def make_two_pole(*args):
/* Python wrapper */ static PyObject *__pyx_pw_8pysndlib_3clm_369make_two_pole(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_368make_two_pole, "\n return a new two_pole filter; a0*x(n) - b1*y(n-1) - b2*y(n-2)\n "); static PyMethodDef __pyx_mdef_8pysndlib_3clm_369make_two_pole = {"make_two_pole", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_8pysndlib_3clm_369make_two_pole, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_368make_two_pole}; static PyObject *__pyx_pw_8pysndlib_3clm_369make_two_pole(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_two_pole (wrapper)", 0); if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "make_two_pole", 0))) return NULL; __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_8pysndlib_3clm_368make_two_pole(__pyx_self, __pyx_v_args); /* function exit code */ __Pyx_DECREF(__pyx_v_args); __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_8pysndlib_3clm_368make_two_pole(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_args) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_two_pole", 0); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("pysndlib.clm.make_two_pole", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ __pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_369make_two_pole, 0, __pyx_n_s_make_two_pole, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__391)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2654, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_two_pole, __pyx_t_37) < 0) __PYX_ERR(0, 2654, __pyx_L1_error) __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0; /* … */ __pyx_codeobj__391 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__152, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_two_pole, 2654, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__391)) __PYX_ERR(0, 2654, __pyx_L1_error)
2655: """
2656: return a new two_pole filter; a0*x(n) - b1*y(n-1) - b2*y(n-2)
2657: """
+2658: if(len(args) == 2):
__pyx_t_1 = PyTuple_GET_SIZE(__pyx_v_args); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2658, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 == 2); if (__pyx_t_2) { /* … */ }
+2659: return mus_any.from_ptr(cclm.mus_make_two_pole_from_frequency_and_radius(args[0], args[1]))
__Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2659, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_4 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2659, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2659, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2659, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_two_pole_from_frequency_and_radius(__pyx_t_4, __pyx_t_5), NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2659, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0;
+2660: elif(len(args) == 3):
__pyx_t_1 = PyTuple_GET_SIZE(__pyx_v_args); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2660, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 == 3); if (likely(__pyx_t_2)) { /* … */ }
+2661: return mus_any.from_ptr(cclm.mus_make_two_pole(args[0], args[1], args[2]))
__Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2661, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_4 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2661, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_6 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2661, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_two_pole(__pyx_t_5, __pyx_t_4, __pyx_t_6), NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0;
2662: else:
+2663: raise RuntimeError("requires either 2 or 3 args but received {len(args)}.")
/*else*/ {
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2663, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__PYX_ERR(0, 2663, __pyx_L1_error)
}
/* … */
__pyx_tuple__26 = PyTuple_Pack(1, __pyx_kp_s_requires_either_2_or_3_args_but); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(0, 2663, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__26);
__Pyx_GIVEREF(__pyx_tuple__26);
2664:
+2665: cpdef cython.double two_pole(gen: mus_any, insig: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_371two_pole(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_two_pole(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("two_pole", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_371two_pole(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_370two_pole, "\n return a new two_pole filter; a0*x(n) - b1*y(n-1) - b2*y(n-2)\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_371two_pole = {"two_pole", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_371two_pole, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_370two_pole};
static PyObject *__pyx_pw_8pysndlib_3clm_371two_pole(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_insig;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("two_pole (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_insig,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2665, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_insig)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2665, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("two_pole", 1, 2, 2, 1); __PYX_ERR(0, 2665, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "two_pole") < 0)) __PYX_ERR(0, 2665, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_insig = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_insig == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2665, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("two_pole", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2665, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.two_pole", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2665, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_370two_pole(__pyx_self, __pyx_v_gen, __pyx_v_insig);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_370two_pole(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("two_pole", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_two_pole(__pyx_v_gen, __pyx_v_insig, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2665, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2665, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.two_pole", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2665, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2665, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_insig, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2665, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_371two_pole, 0, __pyx_n_s_two_pole, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__392)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2665, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_two_pole, __pyx_t_40) < 0) __PYX_ERR(0, 2665, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__392 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__384, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_two_pole, 2665, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__392)) __PYX_ERR(0, 2665, __pyx_L1_error)
2666: """
2667: return a new two_pole filter; a0*x(n) - b1*y(n-1) - b2*y(n-2)
2668: """
+2669: return cclm.mus_two_pole(gen._ptr, insig)
__pyx_r = mus_two_pole(__pyx_v_gen->_ptr, __pyx_v_insig); goto __pyx_L0;
2670:
+2671: cpdef bint is_two_pole(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_373is_two_pole(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_two_pole(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_two_pole", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_373is_two_pole(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_372is_two_pole, "\n returns true if gen is a two_pole\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_373is_two_pole = {"is_two_pole", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_373is_two_pole, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_372is_two_pole};
static PyObject *__pyx_pw_8pysndlib_3clm_373is_two_pole(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_two_pole (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2671, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_two_pole") < 0)) __PYX_ERR(0, 2671, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_two_pole", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2671, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_two_pole", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2671, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_372is_two_pole(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_372is_two_pole(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_two_pole", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_two_pole(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2671, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2671, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_two_pole", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2671, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2671, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_373is_two_pole, 0, __pyx_n_s_is_two_pole, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__393)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2671, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_two_pole, __pyx_t_37) < 0) __PYX_ERR(0, 2671, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__393 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_two_pole, 2671, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__393)) __PYX_ERR(0, 2671, __pyx_L1_error)
2672: """
2673: returns true if gen is a two_pole
2674: :param gen: gen
2675: :return: result
2676: :rtype: bool
2677: """
+2678: return cclm.mus_is_two_pole(gen._ptr)
__pyx_r = mus_is_two_pole(__pyx_v_gen->_ptr); goto __pyx_L0;
2679:
2680: # make def for *args. are there other ways
+2681: def make_two_zero(*args):
/* Python wrapper */ static PyObject *__pyx_pw_8pysndlib_3clm_375make_two_zero(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_374make_two_zero, "\n return a new two_zero filter; a0*x(n) + a1*x(n-1) + a2*x(n-2)\n "); static PyMethodDef __pyx_mdef_8pysndlib_3clm_375make_two_zero = {"make_two_zero", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_8pysndlib_3clm_375make_two_zero, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_374make_two_zero}; static PyObject *__pyx_pw_8pysndlib_3clm_375make_two_zero(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_two_zero (wrapper)", 0); if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "make_two_zero", 0))) return NULL; __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_8pysndlib_3clm_374make_two_zero(__pyx_self, __pyx_v_args); /* function exit code */ __Pyx_DECREF(__pyx_v_args); __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_8pysndlib_3clm_374make_two_zero(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_args) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_two_zero", 0); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("pysndlib.clm.make_two_zero", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ __pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_375make_two_zero, 0, __pyx_n_s_make_two_zero, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__394)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_two_zero, __pyx_t_37) < 0) __PYX_ERR(0, 2681, __pyx_L1_error) __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0; /* … */ __pyx_codeobj__394 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__152, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_two_zero, 2681, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__394)) __PYX_ERR(0, 2681, __pyx_L1_error)
2682: """
2683: return a new two_zero filter; a0*x(n) + a1*x(n-1) + a2*x(n-2)
2684: """
+2685: if(len(args) == 2):
__pyx_t_1 = PyTuple_GET_SIZE(__pyx_v_args); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2685, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 == 2); if (__pyx_t_2) { /* … */ }
+2686: return mus_any.from_ptr(cclm.mus_make_two_zero_from_frequency_and_radius(args[0], args[1]))
__Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_4 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2686, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2686, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_two_zero_from_frequency_and_radius(__pyx_t_4, __pyx_t_5), NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0;
+2687: elif(len(args) == 3):
__pyx_t_1 = PyTuple_GET_SIZE(__pyx_v_args); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2687, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 == 3); if (likely(__pyx_t_2)) { /* … */ }
+2688: return mus_any.from_ptr(cclm.mus_make_two_zero(args[0], args[1], args[2]))
__Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2688, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2688, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2688, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_4 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2688, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2688, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_6 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2688, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_two_zero(__pyx_t_5, __pyx_t_4, __pyx_t_6), NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2688, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0;
2689: else:
+2690: raise RuntimeError("requires either 2 or 3 args but received {len(args)}.")
/*else*/ {
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2690, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__PYX_ERR(0, 2690, __pyx_L1_error)
}
2691:
+2692: cpdef cython.double two_zero(gen: mus_any, input: float):
static PyObject *__pyx_pw_8pysndlib_3clm_377two_zero(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_two_zero(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_input, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("two_zero", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_377two_zero(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_376two_zero, "\n two zero filter of input.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_377two_zero = {"two_zero", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_377two_zero, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_376two_zero};
static PyObject *__pyx_pw_8pysndlib_3clm_377two_zero(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_input;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("two_zero (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_input,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2692, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_input)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2692, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("two_zero", 1, 2, 2, 1); __PYX_ERR(0, 2692, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "two_zero") < 0)) __PYX_ERR(0, 2692, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_input = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_input == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2692, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("two_zero", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2692, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.two_zero", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2692, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_376two_zero(__pyx_self, __pyx_v_gen, __pyx_v_input);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_376two_zero(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_input) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("two_zero", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_two_zero(__pyx_v_gen, __pyx_v_input, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2692, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2692, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.two_zero", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__395 = PyTuple_Pack(2, __pyx_n_s_gen, __pyx_n_s_input); if (unlikely(!__pyx_tuple__395)) __PYX_ERR(0, 2692, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__395);
__Pyx_GIVEREF(__pyx_tuple__395);
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2692, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2692, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_input, __pyx_n_s_float) < 0) __PYX_ERR(0, 2692, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_377two_zero, 0, __pyx_n_s_two_zero, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__396)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2692, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_two_zero, __pyx_t_40) < 0) __PYX_ERR(0, 2692, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__396 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__395, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_two_zero, 2692, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__396)) __PYX_ERR(0, 2692, __pyx_L1_error)
2693: """
2694: two zero filter of input.
2695: """
+2696: return cclm.mus_two_zero(gen._ptr, input)
__pyx_r = mus_two_zero(__pyx_v_gen->_ptr, __pyx_v_input); goto __pyx_L0;
2697:
+2698: cpdef bint is_two_zero(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_379is_two_zero(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_two_zero(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_two_zero", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_379is_two_zero(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_378is_two_zero, "\n returns true if gen is a two_zero\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_379is_two_zero = {"is_two_zero", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_379is_two_zero, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_378is_two_zero};
static PyObject *__pyx_pw_8pysndlib_3clm_379is_two_zero(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_two_zero (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2698, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_two_zero") < 0)) __PYX_ERR(0, 2698, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_two_zero", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2698, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_two_zero", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2698, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_378is_two_zero(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_378is_two_zero(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_two_zero", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_two_zero(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2698, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2698, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_two_zero", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2698, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2698, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_379is_two_zero, 0, __pyx_n_s_is_two_zero, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__397)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2698, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_two_zero, __pyx_t_37) < 0) __PYX_ERR(0, 2698, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__397 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_two_zero, 2698, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__397)) __PYX_ERR(0, 2698, __pyx_L1_error)
2699: """
2700: returns true if gen is a two_zero
2701: :param gen: gen
2702: :return: result
2703: :rtype: bool
2704: """
+2705: return cclm.mus_is_two_zero(gen._ptr)
__pyx_r = mus_is_two_zero(__pyx_v_gen->_ptr); goto __pyx_L0;
2706:
2707:
2708: # ---------------- one_pole_all_pass ---------------- #
+2709: cpdef mus_any make_one_pole_all_pass(size: int, coeff: float):
static PyObject *__pyx_pw_8pysndlib_3clm_381make_one_pole_all_pass(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_one_pole_all_pass(PyObject *__pyx_v_size, double __pyx_v_coeff, CYTHON_UNUSED int __pyx_skip_dispatch) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_one_pole_all_pass", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.make_one_pole_all_pass", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_381make_one_pole_all_pass(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_380make_one_pole_all_pass, "\n return a new one_pole all_pass filter size, coeff\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_381make_one_pole_all_pass = {"make_one_pole_all_pass", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_381make_one_pole_all_pass, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_380make_one_pole_all_pass};
static PyObject *__pyx_pw_8pysndlib_3clm_381make_one_pole_all_pass(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_size = 0;
double __pyx_v_coeff;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_one_pole_all_pass (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size,&__pyx_n_s_coeff,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2709, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_coeff)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2709, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_one_pole_all_pass", 1, 2, 2, 1); __PYX_ERR(0, 2709, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_one_pole_all_pass") < 0)) __PYX_ERR(0, 2709, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_size = ((PyObject*)values[0]);
__pyx_v_coeff = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_coeff == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2709, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_one_pole_all_pass", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2709, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_one_pole_all_pass", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_size), (&PyInt_Type), 0, "size", 1))) __PYX_ERR(0, 2709, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_380make_one_pole_all_pass(__pyx_self, __pyx_v_size, __pyx_v_coeff);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_380make_one_pole_all_pass(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_size, double __pyx_v_coeff) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_one_pole_all_pass", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_one_pole_all_pass(__pyx_v_size, __pyx_v_coeff, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2709, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_one_pole_all_pass", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__398 = PyTuple_Pack(2, __pyx_n_s_size, __pyx_n_s_coeff); if (unlikely(!__pyx_tuple__398)) __PYX_ERR(0, 2709, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__398);
__Pyx_GIVEREF(__pyx_tuple__398);
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2709, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_size, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 2709, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_coeff, __pyx_n_s_float) < 0) __PYX_ERR(0, 2709, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_381make_one_pole_all_pass, 0, __pyx_n_s_make_one_pole_all_pass, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__399)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2709, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_one_pole_all_pass, __pyx_t_40) < 0) __PYX_ERR(0, 2709, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__399 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__398, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_one_pole_all_pass, 2709, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__399)) __PYX_ERR(0, 2709, __pyx_L1_error)
2710: """
2711: return a new one_pole all_pass filter size, coeff
2712:
2713: """
+2714: return mus_any.from_ptr(cclm.mus_make_one_pole_all_pass(size, coeff))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_size); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2714, __pyx_L1_error) __pyx_t_2 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_one_pole_all_pass(__pyx_t_1, __pyx_v_coeff), NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2714, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L0;
2715:
+2716: cpdef cython.double one_pole_all_pass(gen: mus_any, insig: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_383one_pole_all_pass(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_one_pole_all_pass(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("one_pole_all_pass", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_383one_pole_all_pass(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_382one_pole_all_pass, "\n one pole all pass filter of input.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_383one_pole_all_pass = {"one_pole_all_pass", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_383one_pole_all_pass, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_382one_pole_all_pass};
static PyObject *__pyx_pw_8pysndlib_3clm_383one_pole_all_pass(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_insig;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("one_pole_all_pass (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_insig,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2716, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_insig)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2716, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("one_pole_all_pass", 1, 2, 2, 1); __PYX_ERR(0, 2716, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "one_pole_all_pass") < 0)) __PYX_ERR(0, 2716, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_insig = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_insig == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2716, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("one_pole_all_pass", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2716, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.one_pole_all_pass", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2716, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_382one_pole_all_pass(__pyx_self, __pyx_v_gen, __pyx_v_insig);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_382one_pole_all_pass(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("one_pole_all_pass", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_one_pole_all_pass(__pyx_v_gen, __pyx_v_insig, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2716, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2716, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.one_pole_all_pass", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2716, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2716, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_insig, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2716, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_383one_pole_all_pass, 0, __pyx_n_s_one_pole_all_pass, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__400)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2716, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_one_pole_all_pass, __pyx_t_37) < 0) __PYX_ERR(0, 2716, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__400 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__384, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_one_pole_all_pass, 2716, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__400)) __PYX_ERR(0, 2716, __pyx_L1_error)
2717: """
2718: one pole all pass filter of input.
2719: """
+2720: return cclm.mus_one_pole_all_pass(gen._ptr, insig)
__pyx_r = mus_one_pole_all_pass(__pyx_v_gen->_ptr, __pyx_v_insig); goto __pyx_L0;
2721:
+2722: cpdef bint is_one_pole_all_pass(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_385is_one_pole_all_pass(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_one_pole_all_pass(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_one_pole_all_pass", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_385is_one_pole_all_pass(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_384is_one_pole_all_pass, "\n returns true if gen is a one_pole_all_pass\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_385is_one_pole_all_pass = {"is_one_pole_all_pass", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_385is_one_pole_all_pass, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_384is_one_pole_all_pass};
static PyObject *__pyx_pw_8pysndlib_3clm_385is_one_pole_all_pass(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_one_pole_all_pass (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2722, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_one_pole_all_pass") < 0)) __PYX_ERR(0, 2722, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_one_pole_all_pass", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2722, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_one_pole_all_pass", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2722, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_384is_one_pole_all_pass(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_384is_one_pole_all_pass(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_one_pole_all_pass", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_one_pole_all_pass(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2722, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2722, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_one_pole_all_pass", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2722, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2722, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_385is_one_pole_all_pass, 0, __pyx_n_s_is_one_pole_all_pass, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__401)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2722, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_one_pole_all_pass, __pyx_t_40) < 0) __PYX_ERR(0, 2722, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__401 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_one_pole_all_pass, 2722, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__401)) __PYX_ERR(0, 2722, __pyx_L1_error)
2723: """
2724: returns true if gen is a one_pole_all_pass
2725: :param gen: gen
2726: :return: result
2727: :rtype: bool
2728: """
+2729: return cclm.mus_is_one_pole_all_pass(gen._ptr)
__pyx_r = mus_is_one_pole_all_pass(__pyx_v_gen->_ptr); goto __pyx_L0;
2730:
2731:
2732: # ---------------- formant ---------------- #
+2733: cpdef mus_any make_formant(frequency: cython.double, radius: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_387make_formant(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_formant(double __pyx_v_frequency, double __pyx_v_radius, CYTHON_UNUSED int __pyx_skip_dispatch) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_formant", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_formant", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_387make_formant(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_386make_formant, "return a new formant generator (a resonator). radius sets the pole radius (in terms of the 'unit circle').\n frequency sets the resonance center frequency (hz).");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_387make_formant = {"make_formant", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_387make_formant, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_386make_formant};
static PyObject *__pyx_pw_8pysndlib_3clm_387make_formant(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_frequency;
double __pyx_v_radius;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_formant (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frequency,&__pyx_n_s_radius,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frequency)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2733, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_radius)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2733, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_formant", 1, 2, 2, 1); __PYX_ERR(0, 2733, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_formant") < 0)) __PYX_ERR(0, 2733, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_frequency = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_frequency == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2733, __pyx_L3_error)
__pyx_v_radius = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_radius == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2733, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_formant", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2733, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_formant", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_386make_formant(__pyx_self, __pyx_v_frequency, __pyx_v_radius);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_386make_formant(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_frequency, double __pyx_v_radius) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_formant", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_formant(__pyx_v_frequency, __pyx_v_radius, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2733, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_formant", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__402 = PyTuple_Pack(2, __pyx_n_s_frequency, __pyx_n_s_radius); if (unlikely(!__pyx_tuple__402)) __PYX_ERR(0, 2733, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__402);
__Pyx_GIVEREF(__pyx_tuple__402);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2733, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_frequency, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2733, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_radius, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2733, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_387make_formant, 0, __pyx_n_s_make_formant, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__403)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2733, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_formant, __pyx_t_37) < 0) __PYX_ERR(0, 2733, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__403 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__402, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_formant, 2733, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__403)) __PYX_ERR(0, 2733, __pyx_L1_error)
2734: """return a new formant generator (a resonator). radius sets the pole radius (in terms of the 'unit circle').
2735: frequency sets the resonance center frequency (hz)."""
+2736: return mus_any.from_ptr(cclm.mus_make_formant(frequency, radius))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_1 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_formant(__pyx_v_frequency, __pyx_v_radius), NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0;
2737:
+2738: cpdef cython.double formant(gen: mus_any, insig: cython.double, radians: Optional[float]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_389formant(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_formant(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_formant *__pyx_optional_args) {
PyObject *__pyx_v_radians = ((PyObject *)Py_None);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("formant", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_radians = __pyx_optional_args->radians;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.formant", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_389formant(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_388formant, "\n next sample from resonator generator.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_389formant = {"formant", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_389formant, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_388formant};
static PyObject *__pyx_pw_8pysndlib_3clm_389formant(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_insig;
PyObject *__pyx_v_radians = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("formant (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_insig,&__pyx_n_s_radians,0};
PyObject* values[3] = {0,0,0};
values[2] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2738, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_insig)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2738, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("formant", 0, 2, 3, 1); __PYX_ERR(0, 2738, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_radians);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2738, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "formant") < 0)) __PYX_ERR(0, 2738, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_insig = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_insig == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2738, __pyx_L3_error)
__pyx_v_radians = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("formant", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 2738, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.formant", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2738, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_388formant(__pyx_self, __pyx_v_gen, __pyx_v_insig, __pyx_v_radians);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_388formant(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, PyObject *__pyx_v_radians) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("formant", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.radians = __pyx_v_radians;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_formant(__pyx_v_gen, __pyx_v_insig, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2738, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2738, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.formant", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__404 = PyTuple_Pack(3, __pyx_n_s_gen, __pyx_n_s_insig, __pyx_n_s_radians); if (unlikely(!__pyx_tuple__404)) __PYX_ERR(0, 2738, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__404);
__Pyx_GIVEREF(__pyx_tuple__404);
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2738, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2738, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_insig, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2738, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_radians, __pyx_kp_s_Optional_float) < 0) __PYX_ERR(0, 2738, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_389formant, 0, __pyx_n_s_formant, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__405)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2738, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_formant, __pyx_t_40) < 0) __PYX_ERR(0, 2738, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__405 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__404, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_formant, 2738, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__405)) __PYX_ERR(0, 2738, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_formant {
int __pyx_n;
PyObject *radians;
};
2739: """
2740: next sample from resonator generator.
2741: """
+2742: if radians:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_radians); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 2742, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+2743: return cclm.mus_formant_with_frequency(gen._ptr, insig, radians)
__pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_radians); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2743, __pyx_L1_error) __pyx_r = mus_formant_with_frequency(__pyx_v_gen->_ptr, __pyx_v_insig, __pyx_t_2); goto __pyx_L0;
2744: else:
+2745: return cclm.mus_formant(gen._ptr, insig)
/*else*/ {
__pyx_r = mus_formant(__pyx_v_gen->_ptr, __pyx_v_insig);
goto __pyx_L0;
}
2746:
+2747: cpdef bint is_formant(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_391is_formant(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_formant(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_formant", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_391is_formant(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_390is_formant, "\n returns true if gen is a formant\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_391is_formant = {"is_formant", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_391is_formant, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_390is_formant};
static PyObject *__pyx_pw_8pysndlib_3clm_391is_formant(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_formant (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2747, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_formant") < 0)) __PYX_ERR(0, 2747, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_formant", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2747, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_formant", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2747, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_390is_formant(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_390is_formant(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_formant", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_formant(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2747, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2747, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_formant", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2747, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2747, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_391is_formant, 0, __pyx_n_s_is_formant, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__406)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2747, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_formant, __pyx_t_37) < 0) __PYX_ERR(0, 2747, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__406 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_formant, 2747, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__406)) __PYX_ERR(0, 2747, __pyx_L1_error)
2748: """
2749: returns true if gen is a formant
2750: :param gen: gen
2751: :return: result
2752: :rtype: bool
2753: """
+2754: return cclm.mus_is_formant(gen._ptr)
__pyx_r = mus_is_formant(__pyx_v_gen->_ptr); goto __pyx_L0;
2755:
2756: # ---------------- formant-bank ---------------- #
+2757: cpdef mus_any make_formant_bank(filters: list, amps=None):
static PyObject *__pyx_pw_8pysndlib_3clm_393make_formant_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_formant_bank(PyObject *__pyx_v_filters, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_formant_bank *__pyx_optional_args) {
PyObject *__pyx_v_amps = ((PyObject *)Py_None);
PyObject *__pyx_v_p = NULL;
__Pyx_memviewslice __pyx_v_amps_view = { 0, 0, { 0 }, { 0 }, { 0 } };
struct __pyx_obj_8pysndlib_3clm_mus_any_array *__pyx_v_filt_array = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_formant_bank", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_amps = __pyx_optional_args->amps;
}
}
__Pyx_INCREF(__pyx_v_amps);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_5, 1);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("pysndlib.clm.make_formant_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_p);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_amps_view, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_filt_array);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XDECREF(__pyx_v_amps);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_393make_formant_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_392make_formant_bank, "\n return a new formant-bank generator.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_393make_formant_bank = {"make_formant_bank", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_393make_formant_bank, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_392make_formant_bank};
static PyObject *__pyx_pw_8pysndlib_3clm_393make_formant_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_filters = 0;
PyObject *__pyx_v_amps = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_formant_bank (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filters,&__pyx_n_s_amps,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_filters)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2757, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_amps);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2757, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_formant_bank") < 0)) __PYX_ERR(0, 2757, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_filters = ((PyObject*)values[0]);
__pyx_v_amps = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_formant_bank", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 2757, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_formant_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_filters), (&PyList_Type), 0, "filters", 1))) __PYX_ERR(0, 2757, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_392make_formant_bank(__pyx_self, __pyx_v_filters, __pyx_v_amps);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_392make_formant_bank(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_filters, PyObject *__pyx_v_amps) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_formant_bank", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.amps = __pyx_v_amps;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_formant_bank(__pyx_v_filters, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2757, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_formant_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__407 = PyTuple_Pack(2, __pyx_n_s_filters, __pyx_n_s_amps); if (unlikely(!__pyx_tuple__407)) __PYX_ERR(0, 2757, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__407);
__Pyx_GIVEREF(__pyx_tuple__407);
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2757, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_filters, __pyx_n_s_list) < 0) __PYX_ERR(0, 2757, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_393make_formant_bank, 0, __pyx_n_s_make_formant_bank, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__408)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2757, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_formant_bank, __pyx_t_40) < 0) __PYX_ERR(0, 2757, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__408 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__407, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_formant_bank, 2757, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__408)) __PYX_ERR(0, 2757, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_formant_bank {
int __pyx_n;
PyObject *amps;
};
2758: """
2759: return a new formant-bank generator.
2760: """
2761:
+2762: p = list(map(is_formant, filters))
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_formant); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2762, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2762, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_INCREF(__pyx_v_filters); __Pyx_GIVEREF(__pyx_v_filters); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_filters); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_map, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2762, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2762, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_p = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0;
2763:
+2764: if not all(p):
__pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_v_p); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 2764, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = (!__pyx_t_3); if (unlikely(__pyx_t_4)) { /* … */ }
+2765: raise TypeError(f'filter list contains at least one element that is not a formant.')
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__27, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(0, 2765, __pyx_L1_error) /* … */ __pyx_tuple__27 = PyTuple_Pack(1, __pyx_kp_u_filter_list_contains_at_least_on); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(0, 2765, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27);
2766:
+2767: cdef double [:] amps_view = None
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 2767, __pyx_L1_error) __pyx_v_amps_view = __pyx_t_5; __pyx_t_5.memview = NULL; __pyx_t_5.data = NULL;
2768:
+2769: filt_array = mus_any_array.from_pylist(filters)
__pyx_t_2 = ((PyObject *)__pyx_f_8pysndlib_3clm_13mus_any_array_from_pylist(__pyx_v_filters)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_filt_array = ((struct __pyx_obj_8pysndlib_3clm_mus_any_array *)__pyx_t_2); __pyx_t_2 = 0;
2770:
+2771: if amps is not None:
__pyx_t_4 = (__pyx_v_amps != Py_None);
if (__pyx_t_4) {
/* … */
goto __pyx_L4;
}
+2772: if isinstance(amps, list):
__pyx_t_4 = PyList_Check(__pyx_v_amps);
if (__pyx_t_4) {
/* … */
}
+2773: amps = np.array(amps)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_amps}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF_SET(__pyx_v_amps, __pyx_t_2); __pyx_t_2 = 0;
+2774: amps_view = amps
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_amps, PyBUF_WRITABLE); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 2774, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_amps_view, 1); __pyx_v_amps_view = __pyx_t_5; __pyx_t_5.memview = NULL; __pyx_t_5.data = NULL;
+2775: gen = mus_any.from_ptr(cclm.mus_make_formant_bank(len(filters),filt_array.data, &s_view[0]))
__pyx_t_8 = PyList_GET_SIZE(__pyx_v_filters); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2775, __pyx_L1_error) __pyx_t_9 = 0; __pyx_t_7 = -1; if (__pyx_t_9 < 0) { __pyx_t_9 += __pyx_v_amps_view.shape[0]; if (unlikely(__pyx_t_9 < 0)) __pyx_t_7 = 0; } else if (unlikely(__pyx_t_9 >= __pyx_v_amps_view.shape[0])) __pyx_t_7 = 0; if (unlikely(__pyx_t_7 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_7); __PYX_ERR(0, 2775, __pyx_L1_error) } __pyx_t_2 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_formant_bank(__pyx_t_8, __pyx_v_filt_array->data, (&(*((double *) ( /* dim=0 */ (__pyx_v_amps_view.data + __pyx_t_9 * __pyx_v_amps_view.strides[0]) ))))), NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_2); __pyx_t_2 = 0;
2776: else:
+2777: gen = mus_any.from_ptr(cclm.mus_make_formant_bank(len(filters),filt_array.data, NULL))
/*else*/ {
__pyx_t_8 = PyList_GET_SIZE(__pyx_v_filters); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2777, __pyx_L1_error)
__pyx_t_2 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_formant_bank(__pyx_t_8, __pyx_v_filt_array->data, NULL), NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2777, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_2);
__pyx_t_2 = 0;
}
__pyx_L4:;
+2778: gen.cache_extend([filt_array, amps, filters])
__pyx_t_2 = PyList_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF((PyObject *)__pyx_v_filt_array); __Pyx_GIVEREF((PyObject *)__pyx_v_filt_array); PyList_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_filt_array)); __Pyx_INCREF(__pyx_v_amps); __Pyx_GIVEREF(__pyx_v_amps); PyList_SET_ITEM(__pyx_t_2, 1, __pyx_v_amps); __Pyx_INCREF(__pyx_v_filters); __Pyx_GIVEREF(__pyx_v_filters); PyList_SET_ITEM(__pyx_t_2, 2, __pyx_v_filters); __pyx_t_6 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_extend(__pyx_v_gen, __pyx_t_2, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+2779: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
2780:
2781:
+2782: cpdef cython.double formant_bank(gen: mus_any, inputs):
static PyObject *__pyx_pw_8pysndlib_3clm_395formant_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_formant_bank(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_inputs, CYTHON_UNUSED int __pyx_skip_dispatch) {
__Pyx_memviewslice __pyx_v_inputs_view = { 0, 0, { 0 }, { 0 }, { 0 } };
PyObject *__pyx_v_res = NULL;
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("formant_bank", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("pysndlib.clm.formant_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_inputs_view, 1);
__Pyx_XDECREF(__pyx_v_res);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_395formant_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_394formant_bank, "\n sum a bank of formant generators\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_395formant_bank = {"formant_bank", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_395formant_bank, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_394formant_bank};
static PyObject *__pyx_pw_8pysndlib_3clm_395formant_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_inputs = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("formant_bank (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_inputs,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2782, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_inputs)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2782, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("formant_bank", 1, 2, 2, 1); __PYX_ERR(0, 2782, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "formant_bank") < 0)) __PYX_ERR(0, 2782, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_inputs = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("formant_bank", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2782, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.formant_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2782, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_394formant_bank(__pyx_self, __pyx_v_gen, __pyx_v_inputs);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_394formant_bank(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_inputs) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("formant_bank", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_formant_bank(__pyx_v_gen, __pyx_v_inputs, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2782, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2782, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.formant_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__409 = PyTuple_Pack(2, __pyx_n_s_gen, __pyx_n_s_inputs); if (unlikely(!__pyx_tuple__409)) __PYX_ERR(0, 2782, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__409);
__Pyx_GIVEREF(__pyx_tuple__409);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2782, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2782, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_395formant_bank, 0, __pyx_n_s_formant_bank, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__410)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2782, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_formant_bank, __pyx_t_37) < 0) __PYX_ERR(0, 2782, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__410 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__409, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_formant_bank, 2782, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__410)) __PYX_ERR(0, 2782, __pyx_L1_error)
2783: """
2784: sum a bank of formant generators
2785: """
2786:
+2787: cdef double [:] inputs_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2787, __pyx_L1_error) __pyx_v_inputs_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
2788:
+2789: if isinstance(inputs, np.ndarray):
__pyx_t_2 = __Pyx_TypeCheck(__pyx_v_inputs, __pyx_ptype_5numpy_ndarray);
if (__pyx_t_2) {
/* … */
}
+2790: inputs_view = inputs
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_inputs, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2790, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_inputs_view, 1); __pyx_v_inputs_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
+2791: res = cclm.mus_formant_bank_with_inputs(gen._ptr, &inputs_view[0])
__pyx_t_3 = 0;
__pyx_t_4 = -1;
if (__pyx_t_3 < 0) {
__pyx_t_3 += __pyx_v_inputs_view.shape[0];
if (unlikely(__pyx_t_3 < 0)) __pyx_t_4 = 0;
} else if (unlikely(__pyx_t_3 >= __pyx_v_inputs_view.shape[0])) __pyx_t_4 = 0;
if (unlikely(__pyx_t_4 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_4);
__PYX_ERR(0, 2791, __pyx_L1_error)
}
__pyx_t_5 = PyFloat_FromDouble(mus_formant_bank_with_inputs(__pyx_v_gen->_ptr, (&(*((double *) ( /* dim=0 */ (__pyx_v_inputs_view.data + __pyx_t_3 * __pyx_v_inputs_view.strides[0]) )))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2791, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_v_res = __pyx_t_5;
__pyx_t_5 = 0;
+2792: return res
__pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_v_res); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2792, __pyx_L1_error) __pyx_r = __pyx_t_6; goto __pyx_L0;
2793: else:
+2794: res = cclm.mus_formant_bank(gen._ptr, inputs)
/*else*/ {
__pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_v_inputs); if (unlikely((__pyx_t_7 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2794, __pyx_L1_error)
__pyx_t_5 = PyFloat_FromDouble(mus_formant_bank(__pyx_v_gen->_ptr, __pyx_t_7)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2794, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_v_res = __pyx_t_5;
__pyx_t_5 = 0;
}
+2795: return res
__pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_v_res); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2795, __pyx_L1_error) __pyx_r = __pyx_t_6; goto __pyx_L0;
2796:
+2797: cpdef bint is_formant_bank(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_397is_formant_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_formant_bank(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_formant_bank", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_397is_formant_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_396is_formant_bank, "\n returns true if gen is a formant_bank\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_397is_formant_bank = {"is_formant_bank", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_397is_formant_bank, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_396is_formant_bank};
static PyObject *__pyx_pw_8pysndlib_3clm_397is_formant_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_formant_bank (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2797, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_formant_bank") < 0)) __PYX_ERR(0, 2797, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_formant_bank", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2797, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_formant_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2797, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_396is_formant_bank(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_396is_formant_bank(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_formant_bank", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_formant_bank(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2797, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2797, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_formant_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2797, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2797, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_397is_formant_bank, 0, __pyx_n_s_is_formant_bank, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__411)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2797, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_formant_bank, __pyx_t_40) < 0) __PYX_ERR(0, 2797, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__411 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_formant_bank, 2797, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__411)) __PYX_ERR(0, 2797, __pyx_L1_error)
2798: """
2799: returns true if gen is a formant_bank
2800: :param gen: gen
2801: :return: result
2802: :rtype: bool
2803: """
+2804: return cclm.mus_is_formant_bank(gen._ptr)
__pyx_r = mus_is_formant_bank(__pyx_v_gen->_ptr); goto __pyx_L0;
2805:
2806: # ---------------- firmant ---------------- #
+2807: cpdef mus_any make_firmant(frequency: cython.double, radius: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_399make_firmant(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_firmant(double __pyx_v_frequency, double __pyx_v_radius, CYTHON_UNUSED int __pyx_skip_dispatch) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_firmant", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_firmant", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_399make_firmant(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_398make_firmant, "return a new firmant generator (a resonator). radius sets the pole radius (in terms of the 'unit circle').\n frequency sets the resonance center frequency (hz).");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_399make_firmant = {"make_firmant", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_399make_firmant, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_398make_firmant};
static PyObject *__pyx_pw_8pysndlib_3clm_399make_firmant(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_frequency;
double __pyx_v_radius;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_firmant (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frequency,&__pyx_n_s_radius,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frequency)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2807, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_radius)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2807, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_firmant", 1, 2, 2, 1); __PYX_ERR(0, 2807, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_firmant") < 0)) __PYX_ERR(0, 2807, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_frequency = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_frequency == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2807, __pyx_L3_error)
__pyx_v_radius = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_radius == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2807, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_firmant", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2807, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_firmant", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_398make_firmant(__pyx_self, __pyx_v_frequency, __pyx_v_radius);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_398make_firmant(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_frequency, double __pyx_v_radius) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_firmant", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_firmant(__pyx_v_frequency, __pyx_v_radius, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2807, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_firmant", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2807, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_frequency, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2807, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_radius, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2807, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_399make_firmant, 0, __pyx_n_s_make_firmant, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__412)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2807, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_firmant, __pyx_t_37) < 0) __PYX_ERR(0, 2807, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__412 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__402, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_firmant, 2807, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__412)) __PYX_ERR(0, 2807, __pyx_L1_error)
2808: """return a new firmant generator (a resonator). radius sets the pole radius (in terms of the 'unit circle').
2809: frequency sets the resonance center frequency (hz)."""
+2810: return mus_any.from_ptr(cclm.mus_make_firmant(frequency, radius))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_1 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_firmant(__pyx_v_frequency, __pyx_v_radius), NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0;
2811:
+2812: cpdef firmant(gen: mus_any, insig: cython.double, radians: Optional[cython.double]=None ):
static PyObject *__pyx_pw_8pysndlib_3clm_401firmant(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_firmant(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_firmant *__pyx_optional_args) {
PyObject *__pyx_v_radians = ((PyObject *)Py_None);
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("firmant", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_radians = __pyx_optional_args->radians;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.firmant", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_401firmant(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_400firmant, "\n next sample from resonator generator.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_401firmant = {"firmant", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_401firmant, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_400firmant};
static PyObject *__pyx_pw_8pysndlib_3clm_401firmant(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_insig;
PyObject *__pyx_v_radians = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("firmant (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_insig,&__pyx_n_s_radians,0};
PyObject* values[3] = {0,0,0};
values[2] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2812, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_insig)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2812, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("firmant", 0, 2, 3, 1); __PYX_ERR(0, 2812, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_radians);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2812, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "firmant") < 0)) __PYX_ERR(0, 2812, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_insig = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_insig == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2812, __pyx_L3_error)
__pyx_v_radians = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("firmant", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 2812, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.firmant", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2812, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_400firmant(__pyx_self, __pyx_v_gen, __pyx_v_insig, __pyx_v_radians);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_400firmant(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, PyObject *__pyx_v_radians) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("firmant", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.radians = __pyx_v_radians;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_firmant(__pyx_v_gen, __pyx_v_insig, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2812, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.firmant", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2812, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2812, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_insig, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2812, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_radians, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2812, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_401firmant, 0, __pyx_n_s_firmant, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__413)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2812, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_firmant, __pyx_t_40) < 0) __PYX_ERR(0, 2812, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__413 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__404, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_firmant, 2812, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__413)) __PYX_ERR(0, 2812, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_firmant {
int __pyx_n;
PyObject *radians;
};
2813: """
2814: next sample from resonator generator.
2815: """
+2816: if radians:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_radians); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 2816, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+2817: return cclm.mus_firmant_with_frequency(gen._ptr, insig, radians)
__Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_radians); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2817, __pyx_L1_error) __pyx_t_3 = PyFloat_FromDouble(mus_firmant_with_frequency(__pyx_v_gen->_ptr, __pyx_v_insig, __pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2817, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0;
2818: else:
+2819: return cclm.mus_firmant(gen._ptr, insig)
/*else*/ {
__Pyx_XDECREF(__pyx_r);
__pyx_t_3 = PyFloat_FromDouble(mus_firmant(__pyx_v_gen->_ptr, __pyx_v_insig)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2819, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
}
2820:
+2821: cpdef is_firmant(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_403is_firmant(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_is_firmant(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_firmant", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.is_firmant", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_403is_firmant(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_402is_firmant, "\n returns true if gen is a firmant\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_403is_firmant = {"is_firmant", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_403is_firmant, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_402is_firmant};
static PyObject *__pyx_pw_8pysndlib_3clm_403is_firmant(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_firmant (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2821, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_firmant") < 0)) __PYX_ERR(0, 2821, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_firmant", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2821, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_firmant", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2821, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_402is_firmant(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_402is_firmant(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_firmant", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_firmant(__pyx_v_gen, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2821, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.is_firmant", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2821, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2821, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_403is_firmant, 0, __pyx_n_s_is_firmant, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__414)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2821, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_firmant, __pyx_t_37) < 0) __PYX_ERR(0, 2821, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__414 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_firmant, 2821, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__414)) __PYX_ERR(0, 2821, __pyx_L1_error)
2822: """
2823: returns true if gen is a firmant
2824: :param gen: gen
2825: :return: result
2826: :rtype: bool
2827: """
+2828: return cclm.mus_is_firmant(gen._ptr)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyBool_FromLong(mus_is_firmant(__pyx_v_gen->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
2829:
2830: # ---------------- filter ---------------- #
+2831: cpdef mus_any make_filter(order: int, xcoeffs, ycoeffs):
static PyObject *__pyx_pw_8pysndlib_3clm_405make_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_filter(PyObject *__pyx_v_order, PyObject *__pyx_v_xcoeffs, PyObject *__pyx_v_ycoeffs, CYTHON_UNUSED int __pyx_skip_dispatch) {
__Pyx_memviewslice __pyx_v_xcoeffs_view = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_ycoeffs_view = { 0, 0, { 0 }, { 0 }, { 0 } };
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_filter", 0);
__Pyx_INCREF(__pyx_v_xcoeffs);
__Pyx_INCREF(__pyx_v_ycoeffs);
/* … */
/* function exit code */
__pyx_L1_error:;
__PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_AddTraceback("pysndlib.clm.make_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_xcoeffs_view, 1);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_ycoeffs_view, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XDECREF(__pyx_v_xcoeffs);
__Pyx_XDECREF(__pyx_v_ycoeffs);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_405make_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_404make_filter, "\n return a new direct form fir/iir filter, coeff args are list/ndarray\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_405make_filter = {"make_filter", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_405make_filter, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_404make_filter};
static PyObject *__pyx_pw_8pysndlib_3clm_405make_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_order = 0;
PyObject *__pyx_v_xcoeffs = 0;
PyObject *__pyx_v_ycoeffs = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_filter (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_order,&__pyx_n_s_xcoeffs,&__pyx_n_s_ycoeffs,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_order)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2831, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_xcoeffs)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2831, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_filter", 1, 3, 3, 1); __PYX_ERR(0, 2831, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ycoeffs)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2831, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_filter", 1, 3, 3, 2); __PYX_ERR(0, 2831, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_filter") < 0)) __PYX_ERR(0, 2831, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_order = ((PyObject*)values[0]);
__pyx_v_xcoeffs = values[1];
__pyx_v_ycoeffs = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_filter", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 2831, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_order), (&PyInt_Type), 0, "order", 1))) __PYX_ERR(0, 2831, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_404make_filter(__pyx_self, __pyx_v_order, __pyx_v_xcoeffs, __pyx_v_ycoeffs);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_404make_filter(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_order, PyObject *__pyx_v_xcoeffs, PyObject *__pyx_v_ycoeffs) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_filter", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_filter(__pyx_v_order, __pyx_v_xcoeffs, __pyx_v_ycoeffs, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2831, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__415 = PyTuple_Pack(3, __pyx_n_s_order, __pyx_n_s_xcoeffs, __pyx_n_s_ycoeffs); if (unlikely(!__pyx_tuple__415)) __PYX_ERR(0, 2831, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__415);
__Pyx_GIVEREF(__pyx_tuple__415);
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2831, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_order, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 2831, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_405make_filter, 0, __pyx_n_s_make_filter, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__416)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2831, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_filter, __pyx_t_40) < 0) __PYX_ERR(0, 2831, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__416 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__415, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_filter, 2831, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__416)) __PYX_ERR(0, 2831, __pyx_L1_error)
2832: """
2833: return a new direct form fir/iir filter, coeff args are list/ndarray
2834: """
+2835: cdef double [:] xcoeffs_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2835, __pyx_L1_error) __pyx_v_xcoeffs_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
+2836: cdef double [:] ycoeffs_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2836, __pyx_L1_error) __pyx_v_ycoeffs_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
2837:
+2838: if isinstance(xcoeffs, list):
__pyx_t_2 = PyList_Check(__pyx_v_xcoeffs);
if (__pyx_t_2) {
/* … */
}
+2839: xcoeffs = np.array(xcoeffs, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_xcoeffs); __Pyx_GIVEREF(__pyx_v_xcoeffs); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_xcoeffs); __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_double); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_7) < 0) __PYX_ERR(0, 2839, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_xcoeffs, __pyx_t_7); __pyx_t_7 = 0;
2840:
+2841: if isinstance(ycoeffs, list):
__pyx_t_2 = PyList_Check(__pyx_v_ycoeffs);
if (__pyx_t_2) {
/* … */
}
+2842: ycoeffs = np.array(ycoeffs, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2842, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2842, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2842, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_v_ycoeffs); __Pyx_GIVEREF(__pyx_v_ycoeffs); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_ycoeffs); __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2842, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2842, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_double); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2842, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_6) < 0) __PYX_ERR(0, 2842, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2842, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_ycoeffs, __pyx_t_6); __pyx_t_6 = 0;
2843:
+2844: xcoeffs_view = xcoeffs
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_xcoeffs, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2844, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_xcoeffs_view, 1); __pyx_v_xcoeffs_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
+2845: ycoeffs_view = ycoeffs
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_ycoeffs, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2845, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_ycoeffs_view, 1); __pyx_v_ycoeffs_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
2846:
+2847: gen = mus_any.from_ptr(cclm.mus_make_filter(order, &xcoeffs_view[0], &ycoeffs_view[0], NULL))
__pyx_t_8 = __Pyx_PyInt_As_int(__pyx_v_order); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2847, __pyx_L1_error) __pyx_t_9 = 0; __pyx_t_10 = -1; if (__pyx_t_9 < 0) { __pyx_t_9 += __pyx_v_xcoeffs_view.shape[0]; if (unlikely(__pyx_t_9 < 0)) __pyx_t_10 = 0; } else if (unlikely(__pyx_t_9 >= __pyx_v_xcoeffs_view.shape[0])) __pyx_t_10 = 0; if (unlikely(__pyx_t_10 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_10); __PYX_ERR(0, 2847, __pyx_L1_error) } __pyx_t_11 = 0; __pyx_t_10 = -1; if (__pyx_t_11 < 0) { __pyx_t_11 += __pyx_v_ycoeffs_view.shape[0]; if (unlikely(__pyx_t_11 < 0)) __pyx_t_10 = 0; } else if (unlikely(__pyx_t_11 >= __pyx_v_ycoeffs_view.shape[0])) __pyx_t_10 = 0; if (unlikely(__pyx_t_10 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_10); __PYX_ERR(0, 2847, __pyx_L1_error) } __pyx_t_6 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_filter(__pyx_t_8, (&(*((double *) ( /* dim=0 */ (__pyx_v_xcoeffs_view.data + __pyx_t_9 * __pyx_v_xcoeffs_view.strides[0]) )))), (&(*((double *) ( /* dim=0 */ (__pyx_v_ycoeffs_view.data + __pyx_t_11 * __pyx_v_ycoeffs_view.strides[0]) )))), NULL), NULL)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2847, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_6); __pyx_t_6 = 0;
2848:
+2849: gen.cache_extend([xcoeffs, ycoeffs])
__pyx_t_6 = PyList_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2849, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_xcoeffs); __Pyx_GIVEREF(__pyx_v_xcoeffs); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_v_xcoeffs); __Pyx_INCREF(__pyx_v_ycoeffs); __Pyx_GIVEREF(__pyx_v_ycoeffs); PyList_SET_ITEM(__pyx_t_6, 1, __pyx_v_ycoeffs); __pyx_t_3 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_extend(__pyx_v_gen, __pyx_t_6, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2849, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+2850: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
2851:
+2852: cpdef cython.double filter(gen: mus_any, insig: cython.double): # todo : conflicts with buitl in function
static PyObject *__pyx_pw_8pysndlib_3clm_407filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_filter(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("filter", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_407filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_406filter, "\n next sample from filter\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_407filter = {"filter", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_407filter, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_406filter};
static PyObject *__pyx_pw_8pysndlib_3clm_407filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_insig;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("filter (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_insig,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2852, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_insig)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2852, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("filter", 1, 2, 2, 1); __PYX_ERR(0, 2852, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "filter") < 0)) __PYX_ERR(0, 2852, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_insig = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_insig == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2852, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("filter", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2852, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2852, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_406filter(__pyx_self, __pyx_v_gen, __pyx_v_insig);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_406filter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("filter", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_filter(__pyx_v_gen, __pyx_v_insig, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2852, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2852, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2852, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2852, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_insig, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2852, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_407filter, 0, __pyx_n_s_filter, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__417)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2852, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_filter, __pyx_t_37) < 0) __PYX_ERR(0, 2852, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__417 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__384, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_filter, 2852, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__417)) __PYX_ERR(0, 2852, __pyx_L1_error)
2853: """
2854: next sample from filter
2855: """
+2856: return cclm.mus_filter(gen._ptr, insig)
__pyx_r = mus_filter(__pyx_v_gen->_ptr, __pyx_v_insig); goto __pyx_L0;
2857:
+2858: cpdef bint is_filter(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_409is_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_filter(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_filter", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_409is_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_408is_filter, "\n returns true if gen is a filter\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_409is_filter = {"is_filter", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_409is_filter, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_408is_filter};
static PyObject *__pyx_pw_8pysndlib_3clm_409is_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_filter (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2858, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_filter") < 0)) __PYX_ERR(0, 2858, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_filter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2858, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2858, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_408is_filter(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_408is_filter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_filter", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_filter(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2858, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2858, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2858, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2858, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_409is_filter, 0, __pyx_n_s_is_filter, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__418)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2858, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_filter, __pyx_t_40) < 0) __PYX_ERR(0, 2858, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__418 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_filter, 2858, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__418)) __PYX_ERR(0, 2858, __pyx_L1_error)
2859: """
2860: returns true if gen is a filter
2861: :param gen: gen
2862: :return: result
2863: :rtype: bool
2864: """
+2865: return cclm.mus_is_filter(gen._ptr)
__pyx_r = mus_is_filter(__pyx_v_gen->_ptr); goto __pyx_L0;
2866:
2867: # ---------------- fir-filter ---------------- #
+2868: cpdef mus_any make_fir_filter(order: int, xcoeffs):
static PyObject *__pyx_pw_8pysndlib_3clm_411make_fir_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_fir_filter(PyObject *__pyx_v_order, PyObject *__pyx_v_xcoeffs, CYTHON_UNUSED int __pyx_skip_dispatch) {
__Pyx_memviewslice __pyx_v_xcoeffs_view = { 0, 0, { 0 }, { 0 }, { 0 } };
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_fir_filter", 0);
__Pyx_INCREF(__pyx_v_xcoeffs);
/* … */
/* function exit code */
__pyx_L1_error:;
__PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_AddTraceback("pysndlib.clm.make_fir_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_xcoeffs_view, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XDECREF(__pyx_v_xcoeffs);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_411make_fir_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_410make_fir_filter, "\n return a new fir filter, xcoeffs a list/ndarray\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_411make_fir_filter = {"make_fir_filter", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_411make_fir_filter, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_410make_fir_filter};
static PyObject *__pyx_pw_8pysndlib_3clm_411make_fir_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_order = 0;
PyObject *__pyx_v_xcoeffs = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_fir_filter (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_order,&__pyx_n_s_xcoeffs,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_order)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2868, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_xcoeffs)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2868, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_fir_filter", 1, 2, 2, 1); __PYX_ERR(0, 2868, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_fir_filter") < 0)) __PYX_ERR(0, 2868, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_order = ((PyObject*)values[0]);
__pyx_v_xcoeffs = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_fir_filter", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2868, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_fir_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_order), (&PyInt_Type), 0, "order", 1))) __PYX_ERR(0, 2868, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_410make_fir_filter(__pyx_self, __pyx_v_order, __pyx_v_xcoeffs);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_410make_fir_filter(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_order, PyObject *__pyx_v_xcoeffs) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_fir_filter", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_fir_filter(__pyx_v_order, __pyx_v_xcoeffs, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2868, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_fir_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__419 = PyTuple_Pack(2, __pyx_n_s_order, __pyx_n_s_xcoeffs); if (unlikely(!__pyx_tuple__419)) __PYX_ERR(0, 2868, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__419);
__Pyx_GIVEREF(__pyx_tuple__419);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2868, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_order, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 2868, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_411make_fir_filter, 0, __pyx_n_s_make_fir_filter, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__420)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2868, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_fir_filter, __pyx_t_37) < 0) __PYX_ERR(0, 2868, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__420 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__419, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_fir_filter, 2868, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__420)) __PYX_ERR(0, 2868, __pyx_L1_error)
2869: """
2870: return a new fir filter, xcoeffs a list/ndarray
2871: """
+2872: cdef double [:] xcoeffs_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2872, __pyx_L1_error) __pyx_v_xcoeffs_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
2873:
+2874: if isinstance(xcoeffs, list):
__pyx_t_2 = PyList_Check(__pyx_v_xcoeffs);
if (__pyx_t_2) {
/* … */
}
+2875: xcoeffs = np.array(xcoeffs, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2875, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2875, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2875, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_xcoeffs); __Pyx_GIVEREF(__pyx_v_xcoeffs); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_xcoeffs); __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2875, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2875, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_double); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2875, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_7) < 0) __PYX_ERR(0, 2875, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2875, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_xcoeffs, __pyx_t_7); __pyx_t_7 = 0;
2876:
+2877: xcoeffs_view = xcoeffs
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_xcoeffs, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2877, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_xcoeffs_view, 1); __pyx_v_xcoeffs_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
2878:
+2879: gen = mus_any.from_ptr(cclm.mus_make_fir_filter(order, &xcoeffs_view[0], NULL))
__pyx_t_8 = __Pyx_PyInt_As_int(__pyx_v_order); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2879, __pyx_L1_error) __pyx_t_9 = 0; __pyx_t_10 = -1; if (__pyx_t_9 < 0) { __pyx_t_9 += __pyx_v_xcoeffs_view.shape[0]; if (unlikely(__pyx_t_9 < 0)) __pyx_t_10 = 0; } else if (unlikely(__pyx_t_9 >= __pyx_v_xcoeffs_view.shape[0])) __pyx_t_10 = 0; if (unlikely(__pyx_t_10 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_10); __PYX_ERR(0, 2879, __pyx_L1_error) } __pyx_t_7 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_fir_filter(__pyx_t_8, (&(*((double *) ( /* dim=0 */ (__pyx_v_xcoeffs_view.data + __pyx_t_9 * __pyx_v_xcoeffs_view.strides[0]) )))), NULL), NULL)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2879, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_7); __pyx_t_7 = 0;
+2880: gen.cache_append([xcoeffs])
__pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2880, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_v_xcoeffs); __Pyx_GIVEREF(__pyx_v_xcoeffs); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_v_xcoeffs); __pyx_t_5 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_append(__pyx_v_gen, __pyx_t_7, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2880, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
2881:
+2882: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
2883:
+2884: cpdef cython.double fir_filter(gen: mus_any, insig: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_413fir_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_fir_filter(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("fir_filter", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_413fir_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_412fir_filter, "\n next sample from fir filter\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_413fir_filter = {"fir_filter", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_413fir_filter, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_412fir_filter};
static PyObject *__pyx_pw_8pysndlib_3clm_413fir_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_insig;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("fir_filter (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_insig,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2884, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_insig)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2884, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("fir_filter", 1, 2, 2, 1); __PYX_ERR(0, 2884, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "fir_filter") < 0)) __PYX_ERR(0, 2884, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_insig = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_insig == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2884, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("fir_filter", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2884, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.fir_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2884, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_412fir_filter(__pyx_self, __pyx_v_gen, __pyx_v_insig);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_412fir_filter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("fir_filter", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_fir_filter(__pyx_v_gen, __pyx_v_insig, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2884, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2884, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.fir_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2884, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2884, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_insig, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2884, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_413fir_filter, 0, __pyx_n_s_fir_filter, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__421)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2884, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_fir_filter, __pyx_t_40) < 0) __PYX_ERR(0, 2884, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__421 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__384, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_fir_filter, 2884, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__421)) __PYX_ERR(0, 2884, __pyx_L1_error)
2885: """
2886: next sample from fir filter
2887: """
+2888: return cclm.mus_fir_filter(gen._ptr, insig)
__pyx_r = mus_fir_filter(__pyx_v_gen->_ptr, __pyx_v_insig); goto __pyx_L0;
2889:
+2890: cpdef bint is_fir_filter(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_415is_fir_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_fir_filter(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_fir_filter", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_415is_fir_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_414is_fir_filter, "\n returns true if gen is a fir_filter\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_415is_fir_filter = {"is_fir_filter", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_415is_fir_filter, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_414is_fir_filter};
static PyObject *__pyx_pw_8pysndlib_3clm_415is_fir_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_fir_filter (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2890, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_fir_filter") < 0)) __PYX_ERR(0, 2890, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_fir_filter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2890, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_fir_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2890, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_414is_fir_filter(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_414is_fir_filter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_fir_filter", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_fir_filter(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2890, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2890, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_fir_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2890, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2890, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_415is_fir_filter, 0, __pyx_n_s_is_fir_filter, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__422)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2890, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_fir_filter, __pyx_t_37) < 0) __PYX_ERR(0, 2890, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__422 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_fir_filter, 2890, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__422)) __PYX_ERR(0, 2890, __pyx_L1_error)
2891: """
2892: returns true if gen is a fir_filter
2893: :param gen: gen
2894: :return: result
2895: :rtype: bool
2896: """
+2897: return cclm.mus_is_fir_filter(gen._ptr)
__pyx_r = mus_is_fir_filter(__pyx_v_gen->_ptr); goto __pyx_L0;
2898:
2899:
2900: # ---------------- iir-filter ---------------- #
+2901: cpdef mus_any make_iir_filter(order: int, ycoeffs):
static PyObject *__pyx_pw_8pysndlib_3clm_417make_iir_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_iir_filter(PyObject *__pyx_v_order, PyObject *__pyx_v_ycoeffs, CYTHON_UNUSED int __pyx_skip_dispatch) {
__Pyx_memviewslice __pyx_v_ycoeffs_view = { 0, 0, { 0 }, { 0 }, { 0 } };
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_iir_filter", 0);
__Pyx_INCREF(__pyx_v_ycoeffs);
/* … */
/* function exit code */
__pyx_L1_error:;
__PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_AddTraceback("pysndlib.clm.make_iir_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_ycoeffs_view, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XDECREF(__pyx_v_ycoeffs);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_417make_iir_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_416make_iir_filter, "\n return a new iir filter, ycoeffs a list/ndarray\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_417make_iir_filter = {"make_iir_filter", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_417make_iir_filter, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_416make_iir_filter};
static PyObject *__pyx_pw_8pysndlib_3clm_417make_iir_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_order = 0;
PyObject *__pyx_v_ycoeffs = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_iir_filter (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_order,&__pyx_n_s_ycoeffs,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_order)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2901, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ycoeffs)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2901, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_iir_filter", 1, 2, 2, 1); __PYX_ERR(0, 2901, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_iir_filter") < 0)) __PYX_ERR(0, 2901, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_order = ((PyObject*)values[0]);
__pyx_v_ycoeffs = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_iir_filter", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2901, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_iir_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_order), (&PyInt_Type), 0, "order", 1))) __PYX_ERR(0, 2901, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_416make_iir_filter(__pyx_self, __pyx_v_order, __pyx_v_ycoeffs);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_416make_iir_filter(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_order, PyObject *__pyx_v_ycoeffs) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_iir_filter", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_iir_filter(__pyx_v_order, __pyx_v_ycoeffs, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2901, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_iir_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__423 = PyTuple_Pack(2, __pyx_n_s_order, __pyx_n_s_ycoeffs); if (unlikely(!__pyx_tuple__423)) __PYX_ERR(0, 2901, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__423);
__Pyx_GIVEREF(__pyx_tuple__423);
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2901, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_order, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 2901, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_417make_iir_filter, 0, __pyx_n_s_make_iir_filter, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__424)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2901, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_iir_filter, __pyx_t_40) < 0) __PYX_ERR(0, 2901, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__424 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__423, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_iir_filter, 2901, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__424)) __PYX_ERR(0, 2901, __pyx_L1_error)
2902: """
2903: return a new iir filter, ycoeffs a list/ndarray
2904: """
+2905: cdef double [:] ycoeffs_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2905, __pyx_L1_error) __pyx_v_ycoeffs_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
2906:
+2907: if isinstance(ycoeffs, list):
__pyx_t_2 = PyList_Check(__pyx_v_ycoeffs);
if (__pyx_t_2) {
/* … */
}
+2908: ycoeffs = np.array(ycoeffs, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_ycoeffs); __Pyx_GIVEREF(__pyx_v_ycoeffs); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_ycoeffs); __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_double); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_7) < 0) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_ycoeffs, __pyx_t_7); __pyx_t_7 = 0;
2909:
+2910: ycoeffs_view = ycoeffs
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_ycoeffs, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2910, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_ycoeffs_view, 1); __pyx_v_ycoeffs_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
2911:
2912:
+2913: gen = mus_any.from_ptr(cclm.mus_make_iir_filter(order, &ycoeffs_view[0], NULL))
__pyx_t_8 = __Pyx_PyInt_As_int(__pyx_v_order); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2913, __pyx_L1_error) __pyx_t_9 = 0; __pyx_t_10 = -1; if (__pyx_t_9 < 0) { __pyx_t_9 += __pyx_v_ycoeffs_view.shape[0]; if (unlikely(__pyx_t_9 < 0)) __pyx_t_10 = 0; } else if (unlikely(__pyx_t_9 >= __pyx_v_ycoeffs_view.shape[0])) __pyx_t_10 = 0; if (unlikely(__pyx_t_10 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_10); __PYX_ERR(0, 2913, __pyx_L1_error) } __pyx_t_7 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_iir_filter(__pyx_t_8, (&(*((double *) ( /* dim=0 */ (__pyx_v_ycoeffs_view.data + __pyx_t_9 * __pyx_v_ycoeffs_view.strides[0]) )))), NULL), NULL)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_7); __pyx_t_7 = 0;
+2914: gen.cache_append([ycoeffs])
__pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_v_ycoeffs); __Pyx_GIVEREF(__pyx_v_ycoeffs); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_v_ycoeffs); __pyx_t_5 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_append(__pyx_v_gen, __pyx_t_7, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+2915: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
2916:
+2917: cpdef cython.double iir_filter(gen: mus_any, insig: cython.double ):
static PyObject *__pyx_pw_8pysndlib_3clm_419iir_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_iir_filter(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("iir_filter", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_419iir_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_418iir_filter, "\n next sample from iir filter\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_419iir_filter = {"iir_filter", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_419iir_filter, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_418iir_filter};
static PyObject *__pyx_pw_8pysndlib_3clm_419iir_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_insig;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("iir_filter (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_insig,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2917, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_insig)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2917, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("iir_filter", 1, 2, 2, 1); __PYX_ERR(0, 2917, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "iir_filter") < 0)) __PYX_ERR(0, 2917, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_insig = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_insig == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2917, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("iir_filter", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2917, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.iir_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2917, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_418iir_filter(__pyx_self, __pyx_v_gen, __pyx_v_insig);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_418iir_filter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("iir_filter", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_iir_filter(__pyx_v_gen, __pyx_v_insig, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2917, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2917, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.iir_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2917, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2917, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_insig, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2917, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_419iir_filter, 0, __pyx_n_s_iir_filter, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__425)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2917, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_iir_filter, __pyx_t_37) < 0) __PYX_ERR(0, 2917, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__425 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__384, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_iir_filter, 2917, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__425)) __PYX_ERR(0, 2917, __pyx_L1_error)
2918: """
2919: next sample from iir filter
2920: """
+2921: return cclm.mus_iir_filter(gen._ptr, insig)
__pyx_r = mus_iir_filter(__pyx_v_gen->_ptr, __pyx_v_insig); goto __pyx_L0;
2922:
+2923: cpdef bint is_iir_filter(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_421is_iir_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_iir_filter(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_iir_filter", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_421is_iir_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_420is_iir_filter, "\n returns true if gen is a iir_filter\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_421is_iir_filter = {"is_iir_filter", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_421is_iir_filter, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_420is_iir_filter};
static PyObject *__pyx_pw_8pysndlib_3clm_421is_iir_filter(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_iir_filter (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2923, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_iir_filter") < 0)) __PYX_ERR(0, 2923, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_iir_filter", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2923, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_iir_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2923, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_420is_iir_filter(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_420is_iir_filter(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_iir_filter", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_iir_filter(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2923, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2923, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_iir_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2923, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2923, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_421is_iir_filter, 0, __pyx_n_s_is_iir_filter, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__426)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2923, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_iir_filter, __pyx_t_40) < 0) __PYX_ERR(0, 2923, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__426 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_iir_filter, 2923, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__426)) __PYX_ERR(0, 2923, __pyx_L1_error)
2924: """
2925: returns true if gen is a iir_filter
2926: :param gen: gen
2927: :return: result
2928: :rtype: bool
2929: """
+2930: return cclm.mus_is_iir_filter(gen._ptr)
__pyx_r = mus_is_iir_filter(__pyx_v_gen->_ptr); goto __pyx_L0;
2931:
+2932: cpdef np.ndarray make_fir_coeffs(order: int, envelope):
static PyObject *__pyx_pw_8pysndlib_3clm_423make_fir_coeffs(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyArrayObject *__pyx_f_8pysndlib_3clm_make_fir_coeffs(PyObject *__pyx_v_order, PyObject *__pyx_v_envelope, CYTHON_UNUSED int __pyx_skip_dispatch) {
__Pyx_memviewslice __pyx_v_envelope_view = { 0, 0, { 0 }, { 0 }, { 0 } };
PyObject *__pyx_v_coeffs = NULL;
__Pyx_memviewslice __pyx_v_coeffs_view = { 0, 0, { 0 }, { 0 }, { 0 } };
PyArrayObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_fir_coeffs", 0);
__Pyx_INCREF(__pyx_v_envelope);
/* … */
/* function exit code */
__pyx_L1_error:;
__PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_AddTraceback("pysndlib.clm.make_fir_coeffs", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_envelope_view, 1);
__Pyx_XDECREF(__pyx_v_coeffs);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_coeffs_view, 1);
__Pyx_XDECREF(__pyx_v_envelope);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_423make_fir_coeffs(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_423make_fir_coeffs = {"make_fir_coeffs", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_423make_fir_coeffs, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_423make_fir_coeffs(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_order = 0;
PyObject *__pyx_v_envelope = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_fir_coeffs (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_order,&__pyx_n_s_envelope,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_order)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2932, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_envelope)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2932, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_fir_coeffs", 1, 2, 2, 1); __PYX_ERR(0, 2932, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_fir_coeffs") < 0)) __PYX_ERR(0, 2932, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_order = ((PyObject*)values[0]);
__pyx_v_envelope = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_fir_coeffs", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 2932, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_fir_coeffs", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_order), (&PyInt_Type), 0, "order", 1))) __PYX_ERR(0, 2932, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_422make_fir_coeffs(__pyx_self, __pyx_v_order, __pyx_v_envelope);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_422make_fir_coeffs(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_order, PyObject *__pyx_v_envelope) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_fir_coeffs", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_fir_coeffs(__pyx_v_order, __pyx_v_envelope, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2932, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_fir_coeffs", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__427 = PyTuple_Pack(2, __pyx_n_s_order, __pyx_n_s_envelope); if (unlikely(!__pyx_tuple__427)) __PYX_ERR(0, 2932, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__427);
__Pyx_GIVEREF(__pyx_tuple__427);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2932, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_order, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 2932, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_423make_fir_coeffs, 0, __pyx_n_s_make_fir_coeffs, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__428)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2932, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_fir_coeffs, __pyx_t_37) < 0) __PYX_ERR(0, 2932, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__428 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__427, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_fir_coeffs, 2932, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__428)) __PYX_ERR(0, 2932, __pyx_L1_error)
+2933: cdef double [:] envelope_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2933, __pyx_L1_error) __pyx_v_envelope_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
2934:
+2935: if isinstance(envelope, list):
__pyx_t_2 = PyList_Check(__pyx_v_envelope);
if (__pyx_t_2) {
/* … */
}
+2936: envelope = np.ndarray(envelope)
__pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_5numpy_ndarray), __pyx_v_envelope); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2936, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_envelope, __pyx_t_3); __pyx_t_3 = 0;
+2937: check_ndim(envelope)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2937, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_envelope}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2937, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2938:
+2939: envelope_view = envelope
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_envelope, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2939, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_envelope_view, 1); __pyx_v_envelope_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
2940:
+2941: coeffs = np.zeros(order+1, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Add(__pyx_v_order, __pyx_int_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_double); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_8) < 0) __PYX_ERR(0, 2941, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_coeffs = __pyx_t_8; __pyx_t_8 = 0;
2942:
+2943: cdef double [:] coeffs_view = coeffs
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_coeffs, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2943, __pyx_L1_error) __pyx_v_coeffs_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
2944:
+2945: cclm.mus_make_fir_coeffs(order, &envelope_view[0], &coeffs_view[0])
__pyx_t_6 = __Pyx_PyInt_As_int(__pyx_v_order); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2945, __pyx_L1_error) __pyx_t_9 = 0; __pyx_t_10 = -1; if (__pyx_t_9 < 0) { __pyx_t_9 += __pyx_v_envelope_view.shape[0]; if (unlikely(__pyx_t_9 < 0)) __pyx_t_10 = 0; } else if (unlikely(__pyx_t_9 >= __pyx_v_envelope_view.shape[0])) __pyx_t_10 = 0; if (unlikely(__pyx_t_10 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_10); __PYX_ERR(0, 2945, __pyx_L1_error) } __pyx_t_11 = 0; __pyx_t_10 = -1; if (__pyx_t_11 < 0) { __pyx_t_11 += __pyx_v_coeffs_view.shape[0]; if (unlikely(__pyx_t_11 < 0)) __pyx_t_10 = 0; } else if (unlikely(__pyx_t_11 >= __pyx_v_coeffs_view.shape[0])) __pyx_t_10 = 0; if (unlikely(__pyx_t_10 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_10); __PYX_ERR(0, 2945, __pyx_L1_error) } (void)(mus_make_fir_coeffs(__pyx_t_6, (&(*((double *) ( /* dim=0 */ (__pyx_v_envelope_view.data + __pyx_t_9 * __pyx_v_envelope_view.strides[0]) )))), (&(*((double *) ( /* dim=0 */ (__pyx_v_coeffs_view.data + __pyx_t_11 * __pyx_v_coeffs_view.strides[0]) ))))));
+2946: return coeffs
__Pyx_XDECREF((PyObject *)__pyx_r); if (!(likely(((__pyx_v_coeffs) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_coeffs, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2946, __pyx_L1_error) __Pyx_INCREF(__pyx_v_coeffs); __pyx_r = ((PyArrayObject *)__pyx_v_coeffs); goto __pyx_L0;
2947:
2948:
2949: # ---------------- delay ---------------- #
+2950: cpdef mus_any make_delay(size: int,
static PyObject *__pyx_pw_8pysndlib_3clm_425make_delay(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_delay(PyObject *__pyx_v_size, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_delay *__pyx_optional_args) {
/* … */
/* function exit code */
__pyx_L1_error:;
__PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_AddTraceback("pysndlib.clm.make_delay", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_initial_contents_view, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XDECREF(__pyx_v_initial_contents);
__Pyx_XDECREF(__pyx_v_max_size);
__Pyx_XDECREF(__pyx_v_interp_type);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_425make_delay(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_424make_delay, "\n return a new delay line of size elements. if the delay length will be changing at run-time, max-size sets its maximum length\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_425make_delay = {"make_delay", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_425make_delay, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_424make_delay};
static PyObject *__pyx_pw_8pysndlib_3clm_425make_delay(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_size = 0;
PyObject *__pyx_v_initial_contents = 0;
PyObject *__pyx_v_initial_element = 0;
PyObject *__pyx_v_max_size = 0;
PyObject *__pyx_v_interp_type = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_delay (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size,&__pyx_n_s_initial_contents,&__pyx_n_s_initial_element,&__pyx_n_s_max_size,&__pyx_n_s_interp_type,0};
PyObject* values[5] = {0,0,0,0,0};
/* … */
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_424make_delay(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_size, PyObject *__pyx_v_initial_contents, PyObject *__pyx_v_initial_element, PyObject *__pyx_v_max_size, PyObject *__pyx_v_interp_type) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_delay", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 4;
__pyx_t_2.initial_contents = __pyx_v_initial_contents;
__pyx_t_2.initial_element = __pyx_v_initial_element;
__pyx_t_2.max_size = __pyx_v_max_size;
__pyx_t_2.interp_type = __pyx_v_interp_type;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_delay(__pyx_v_size, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2950, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_delay", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__429 = PyTuple_Pack(5, __pyx_n_s_size, __pyx_n_s_initial_contents, __pyx_n_s_initial_element, __pyx_n_s_max_size, __pyx_n_s_interp_type); if (unlikely(!__pyx_tuple__429)) __PYX_ERR(0, 2950, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__429);
__Pyx_GIVEREF(__pyx_tuple__429);
/* … */
__pyx_t_40 = PyTuple_New(4); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 2950, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_40, 0, Py_None);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_40, 1, Py_None);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_40, 2, Py_None);
__Pyx_GIVEREF(__pyx_t_37);
PyTuple_SET_ITEM(__pyx_t_40, 3, __pyx_t_37);
__pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2950, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_size, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 2950, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_initial_element, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2950, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_max_size, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 2950, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_425make_delay, 0, __pyx_n_s_make_delay, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__430)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2950, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_delay, __pyx_t_41) < 0) __PYX_ERR(0, 2950, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__430 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__429, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_delay, 2950, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__430)) __PYX_ERR(0, 2950, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_delay {
int __pyx_n;
PyObject *initial_contents;
PyObject *initial_element;
PyObject *max_size;
PyObject *interp_type;
};
+2951: initial_contents=None,
PyObject *__pyx_v_initial_contents = ((PyObject *)Py_None);
/* … */
values[1] = ((PyObject *)Py_None);
+2952: initial_element: Optional[cython.double]=None,
PyObject *__pyx_v_initial_element = ((PyObject *)Py_None);
/* … */
values[2] = ((PyObject *)Py_None);
+2953: max_size:Optional[int]=None,
PyObject *__pyx_v_max_size = ((PyObject *)Py_None);
PyObject *__pyx_v_interp_type = __pyx_k__28;
__Pyx_memviewslice __pyx_v_initial_contents_view = { 0, 0, { 0 }, { 0 }, { 0 } };
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_delay", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_initial_contents = __pyx_optional_args->initial_contents;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_initial_element = __pyx_optional_args->initial_element;
if (__pyx_optional_args->__pyx_n > 2) {
__pyx_v_max_size = __pyx_optional_args->max_size;
if (__pyx_optional_args->__pyx_n > 3) {
__pyx_v_interp_type = __pyx_optional_args->interp_type;
}
}
}
}
}
__Pyx_INCREF(__pyx_v_initial_contents);
__Pyx_INCREF(__pyx_v_max_size);
__Pyx_INCREF(__pyx_v_interp_type);
/* … */
values[3] = ((PyObject *)Py_None);
values[4] = __pyx_k__28;
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2950, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_initial_contents);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2950, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_initial_element);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2950, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_max_size);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2950, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_interp_type);
if (value) { values[4] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2950, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_delay") < 0)) __PYX_ERR(0, 2950, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_size = ((PyObject*)values[0]);
__pyx_v_initial_contents = values[1];
__pyx_v_initial_element = values[2];
__pyx_v_max_size = values[3];
__pyx_v_interp_type = values[4];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_delay", 0, 1, 5, __pyx_nargs); __PYX_ERR(0, 2950, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_delay", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_size), (&PyInt_Type), 0, "size", 1))) __PYX_ERR(0, 2950, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_424make_delay(__pyx_self, __pyx_v_size, __pyx_v_initial_contents, __pyx_v_initial_element, __pyx_v_max_size, __pyx_v_interp_type);
+2954: interp_type=Interp.NONE):
__pyx_t_37 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_NONE); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2954, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __pyx_k__28 = __pyx_t_37; __Pyx_GIVEREF(__pyx_t_37); __pyx_t_37 = 0; /* … */ __pyx_t_37 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_NONE); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2954, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37);
2955: """
2956: return a new delay line of size elements. if the delay length will be changing at run-time, max-size sets its maximum length
2957: """
2958:
+2959: cdef double [:] initial_contents_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2959, __pyx_L1_error) __pyx_v_initial_contents_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
2960:
+2961: if not max_size:
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_max_size); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2961, __pyx_L1_error) __pyx_t_3 = (!__pyx_t_2); if (__pyx_t_3) { /* … */ }
+2962: max_size = size
__Pyx_INCREF(__pyx_v_size); __Pyx_DECREF_SET(__pyx_v_max_size, __pyx_v_size);
2963:
+2964: if max_size != size and interp_type == Interp.NONE:
__pyx_t_4 = PyObject_RichCompare(__pyx_v_max_size, __pyx_v_size, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2964, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2964, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_2) { } else { __pyx_t_3 = __pyx_t_2; goto __pyx_L5_bool_binop_done; } __pyx_t_4 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_NONE); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyObject_RichCompare(__pyx_v_interp_type, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2964, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 2964, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_3 = __pyx_t_2; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+2965: interp_type = Interp.LAGRANGE #think this is correct from clm2xen.c
__pyx_t_5 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_LAGRANGE); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF_SET(__pyx_v_interp_type, __pyx_t_5); __pyx_t_5 = 0;
2966:
+2967: if initial_contents is not None:
__pyx_t_3 = (__pyx_v_initial_contents != Py_None);
if (__pyx_t_3) {
/* … */
goto __pyx_L7;
}
+2968: if isinstance(initial_contents, list):
__pyx_t_3 = PyList_Check(__pyx_v_initial_contents);
if (__pyx_t_3) {
/* … */
}
+2969: initial_contents = np.array(initial_contents)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_initial_contents}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF_SET(__pyx_v_initial_contents, __pyx_t_5); __pyx_t_5 = 0;
+2970: check_ndim(initial_contents)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_initial_contents}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+2971: initial_contents_view = initial_contents
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_initial_contents, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2971, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_initial_contents_view, 1); __pyx_v_initial_contents_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
2972:
+2973: elif initial_element:
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_initial_element); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 2973, __pyx_L1_error) if (__pyx_t_3) { /* … */ } __pyx_L7:;
+2974: initial_contents = np.zeros(max_size, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2974, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_zeros); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2974, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2974, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_max_size); __Pyx_GIVEREF(__pyx_v_max_size); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_max_size); __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2974, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2974, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_double); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2974, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_9) < 0) __PYX_ERR(0, 2974, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2974, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_initial_contents, __pyx_t_9); __pyx_t_9 = 0;
+2975: check_ndim(initial_contents)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2975, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_initial_contents}; __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2975, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+2976: initial_contents.fill(initial_element)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_initial_contents, __pyx_n_s_fill); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_initial_element}; __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+2977: initial_contents_view = initial_contents
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_initial_contents, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 2977, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_initial_contents_view, 1); __pyx_v_initial_contents_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
2978:
+2979: if initial_contents_view is not None:
__pyx_t_3 = (((PyObject *) __pyx_v_initial_contents_view.memview) != Py_None);
if (__pyx_t_3) {
/* … */
goto __pyx_L9;
}
+2980: gen = mus_any.from_ptr(cclm.mus_make_delay(size, &initial_contents_view[0], max_size, interp_type))
__pyx_t_7 = __Pyx_PyInt_As_int(__pyx_v_size); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2980, __pyx_L1_error) __pyx_t_10 = 0; __pyx_t_11 = -1; if (__pyx_t_10 < 0) { __pyx_t_10 += __pyx_v_initial_contents_view.shape[0]; if (unlikely(__pyx_t_10 < 0)) __pyx_t_11 = 0; } else if (unlikely(__pyx_t_10 >= __pyx_v_initial_contents_view.shape[0])) __pyx_t_11 = 0; if (unlikely(__pyx_t_11 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_11); __PYX_ERR(0, 2980, __pyx_L1_error) } __pyx_t_11 = __Pyx_PyInt_As_int(__pyx_v_max_size); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2980, __pyx_L1_error) __pyx_t_12 = ((mus_interp_t)__Pyx_PyInt_As_mus_interp_t(__pyx_v_interp_type)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2980, __pyx_L1_error) __pyx_t_9 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_delay(__pyx_t_7, (&(*((double *) ( /* dim=0 */ (__pyx_v_initial_contents_view.data + __pyx_t_10 * __pyx_v_initial_contents_view.strides[0]) )))), __pyx_t_11, __pyx_t_12), NULL)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2980, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_9); __pyx_t_9 = 0;
2981: else:
+2982: gen = mus_any.from_ptr(cclm.mus_make_delay(size, NULL, max_size, interp_type))
/*else*/ {
__pyx_t_11 = __Pyx_PyInt_As_int(__pyx_v_size); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2982, __pyx_L1_error)
__pyx_t_7 = __Pyx_PyInt_As_int(__pyx_v_max_size); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2982, __pyx_L1_error)
__pyx_t_12 = ((mus_interp_t)__Pyx_PyInt_As_mus_interp_t(__pyx_v_interp_type)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2982, __pyx_L1_error)
__pyx_t_9 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_delay(__pyx_t_11, NULL, __pyx_t_7, __pyx_t_12), NULL)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2982, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_9);
__pyx_t_9 = 0;
}
__pyx_L9:;
2983:
+2984: gen.cache_extend(initial_contents)
__pyx_t_9 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_extend(__pyx_v_gen, __pyx_v_initial_contents, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2984, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+2985: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
2986:
+2987: cpdef cython.double delay(gen: mus_any, insig: cython.double, pm: Optional[cython.double]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_427delay(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_delay(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_delay *__pyx_optional_args) {
PyObject *__pyx_v_pm = ((PyObject *)Py_None);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("delay", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_pm = __pyx_optional_args->pm;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.delay", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_427delay(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_426delay, "\n delay val according to the delay line's length and pm ('phase-modulation').\n if pm is greater than 0.0, the max-size argument used to create gen should have accommodated its maximum value. \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_427delay = {"delay", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_427delay, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_426delay};
static PyObject *__pyx_pw_8pysndlib_3clm_427delay(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_insig;
PyObject *__pyx_v_pm = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("delay (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_insig,&__pyx_n_s_pm,0};
PyObject* values[3] = {0,0,0};
values[2] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2987, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_insig)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2987, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("delay", 0, 2, 3, 1); __PYX_ERR(0, 2987, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pm);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2987, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "delay") < 0)) __PYX_ERR(0, 2987, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_insig = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_insig == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2987, __pyx_L3_error)
__pyx_v_pm = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("delay", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 2987, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.delay", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2987, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_426delay(__pyx_self, __pyx_v_gen, __pyx_v_insig, __pyx_v_pm);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_426delay(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, PyObject *__pyx_v_pm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("delay", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.pm = __pyx_v_pm;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_delay(__pyx_v_gen, __pyx_v_insig, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2987, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2987, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.delay", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__431 = PyTuple_Pack(3, __pyx_n_s_gen, __pyx_n_s_insig, __pyx_n_s_pm); if (unlikely(!__pyx_tuple__431)) __PYX_ERR(0, 2987, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__431);
__Pyx_GIVEREF(__pyx_tuple__431);
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2987, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2987, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_insig, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 2987, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_pm, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 2987, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_427delay, 0, __pyx_n_s_delay, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__432)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2987, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_delay, __pyx_t_37) < 0) __PYX_ERR(0, 2987, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__432 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__431, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_delay, 2987, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__432)) __PYX_ERR(0, 2987, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_delay {
int __pyx_n;
PyObject *pm;
};
2988: """
2989: delay val according to the delay line's length and pm ('phase-modulation').
2990: if pm is greater than 0.0, the max-size argument used to create gen should have accommodated its maximum value.
2991: """
+2992: if pm:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_pm); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 2992, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+2993: return cclm.mus_delay(gen._ptr, insig, pm)
__pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_pm); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2993, __pyx_L1_error) __pyx_r = mus_delay(__pyx_v_gen->_ptr, __pyx_v_insig, __pyx_t_2); goto __pyx_L0;
2994: else:
+2995: return cclm.mus_delay_unmodulated(gen._ptr, insig)
/*else*/ {
__pyx_r = mus_delay_unmodulated(__pyx_v_gen->_ptr, __pyx_v_insig);
goto __pyx_L0;
}
2996:
+2997: cpdef bint is_delay(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_429is_delay(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_delay(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_delay", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_429is_delay(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_428is_delay, "\n returns true if gen is a delay\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_429is_delay = {"is_delay", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_429is_delay, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_428is_delay};
static PyObject *__pyx_pw_8pysndlib_3clm_429is_delay(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_delay (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2997, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_delay") < 0)) __PYX_ERR(0, 2997, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_delay", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 2997, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_delay", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 2997, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_428is_delay(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_428is_delay(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_delay", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_delay(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 2997, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2997, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_delay", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 2997, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 2997, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_429is_delay, 0, __pyx_n_s_is_delay, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__433)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 2997, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_delay, __pyx_t_41) < 0) __PYX_ERR(0, 2997, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__433 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_delay, 2997, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__433)) __PYX_ERR(0, 2997, __pyx_L1_error)
2998: """
2999: returns true if gen is a delay
3000: :param gen: gen
3001: :return: result
3002: :rtype: bool
3003: """
+3004: return cclm.mus_is_delay(gen._ptr)
__pyx_r = mus_is_delay(__pyx_v_gen->_ptr); goto __pyx_L0;
3005:
+3006: cpdef cython.double tap(gen: mus_any, offset: Optional[cython.double ]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_431tap(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_tap(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_tap *__pyx_optional_args) {
PyObject *__pyx_v_offset = ((PyObject *)Py_None);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("tap", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_offset = __pyx_optional_args->offset;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.tap", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_431tap(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_430tap, "\n tap the delay mus_any offset by pm\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_431tap = {"tap", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_431tap, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_430tap};
static PyObject *__pyx_pw_8pysndlib_3clm_431tap(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_offset = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("tap (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_offset,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3006, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_offset);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3006, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "tap") < 0)) __PYX_ERR(0, 3006, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_offset = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("tap", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 3006, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.tap", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3006, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_430tap(__pyx_self, __pyx_v_gen, __pyx_v_offset);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_430tap(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_offset) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("tap", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.offset = __pyx_v_offset;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_tap(__pyx_v_gen, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3006, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3006, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.tap", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__434 = PyTuple_Pack(2, __pyx_n_s_gen, __pyx_n_s_offset); if (unlikely(!__pyx_tuple__434)) __PYX_ERR(0, 3006, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__434);
__Pyx_GIVEREF(__pyx_tuple__434);
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3006, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3006, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_offset, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3006, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_431tap, 0, __pyx_n_s_tap, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__435)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3006, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_tap, __pyx_t_37) < 0) __PYX_ERR(0, 3006, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__435 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__434, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_tap, 3006, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__435)) __PYX_ERR(0, 3006, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_tap {
int __pyx_n;
PyObject *offset;
};
3007: """
3008: tap the delay mus_any offset by pm
3009: """
+3010: if offset:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_offset); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3010, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+3011: return cclm.mus_tap(gen._ptr, offset)
__pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_offset); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3011, __pyx_L1_error) __pyx_r = mus_tap(__pyx_v_gen->_ptr, __pyx_t_2); goto __pyx_L0;
3012: else:
+3013: return cclm.mus_tap_unmodulated(gen._ptr)
/*else*/ {
__pyx_r = mus_tap_unmodulated(__pyx_v_gen->_ptr);
goto __pyx_L0;
}
3014:
+3015: cpdef bint is_tap(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_433is_tap(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_tap(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_tap", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_433is_tap(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_432is_tap, "\n returns true if gen is a tap\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_433is_tap = {"is_tap", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_433is_tap, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_432is_tap};
static PyObject *__pyx_pw_8pysndlib_3clm_433is_tap(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_tap (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3015, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_tap") < 0)) __PYX_ERR(0, 3015, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_tap", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3015, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_tap", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3015, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_432is_tap(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_432is_tap(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_tap", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_tap(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3015, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3015, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_tap", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3015, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3015, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_433is_tap, 0, __pyx_n_s_is_tap, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__436)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3015, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_tap, __pyx_t_41) < 0) __PYX_ERR(0, 3015, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__436 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_tap, 3015, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__436)) __PYX_ERR(0, 3015, __pyx_L1_error)
3016: """
3017: returns true if gen is a tap
3018: :param gen: gen
3019: :return: result
3020: :rtype: bool
3021: """
+3022: return cclm.mus_is_tap(gen._ptr)
__pyx_r = mus_is_tap(__pyx_v_gen->_ptr); goto __pyx_L0;
3023:
+3024: cpdef cython.double delay_tick(gen: mus_any, insig: cython.double ):
static PyObject *__pyx_pw_8pysndlib_3clm_435delay_tick(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_delay_tick(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("delay_tick", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_435delay_tick(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_434delay_tick, "\n delay val according to the delay line's length. this merely 'ticks' the delay line forward.\n the argument 'val' is returned.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_435delay_tick = {"delay_tick", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_435delay_tick, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_434delay_tick};
static PyObject *__pyx_pw_8pysndlib_3clm_435delay_tick(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_insig;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("delay_tick (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_insig,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3024, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_insig)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3024, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("delay_tick", 1, 2, 2, 1); __PYX_ERR(0, 3024, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "delay_tick") < 0)) __PYX_ERR(0, 3024, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_insig = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_insig == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3024, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("delay_tick", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3024, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.delay_tick", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3024, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_434delay_tick(__pyx_self, __pyx_v_gen, __pyx_v_insig);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_434delay_tick(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("delay_tick", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_delay_tick(__pyx_v_gen, __pyx_v_insig, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3024, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3024, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.delay_tick", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3024, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3024, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_insig, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 3024, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_435delay_tick, 0, __pyx_n_s_delay_tick, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__437)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3024, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_delay_tick, __pyx_t_37) < 0) __PYX_ERR(0, 3024, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__437 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__384, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_delay_tick, 3024, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__437)) __PYX_ERR(0, 3024, __pyx_L1_error)
3025: """
3026: delay val according to the delay line's length. this merely 'ticks' the delay line forward.
3027: the argument 'val' is returned.
3028: """
+3029: return cclm.mus_delay_tick(gen._ptr, insig)
__pyx_r = mus_delay_tick(__pyx_v_gen->_ptr, __pyx_v_insig); goto __pyx_L0;
3030:
3031:
3032: # ---------------- comb ---------------- #
+3033: cpdef mus_any make_comb(scaler: Optional[cython.double]=1.0,
static PyObject *__pyx_pw_8pysndlib_3clm_437make_comb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_comb(CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_comb *__pyx_optional_args) {
PyObject *__pyx_v_scaler = ((PyObject *)__pyx_float_1_0);
/* … */
/* function exit code */
__pyx_L1_error:;
__PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("pysndlib.clm.make_comb", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_initial_contents_view, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XDECREF(__pyx_v_initial_contents);
__Pyx_XDECREF(__pyx_v_max_size);
__Pyx_XDECREF(__pyx_v_interp_type);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_437make_comb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_436make_comb, "\n return a new comb filter (a delay line with a scaler on the feedback) of size elements. \n if the comb length will be changing at run-time, max-size sets its maximum length.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_437make_comb = {"make_comb", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_437make_comb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_436make_comb};
static PyObject *__pyx_pw_8pysndlib_3clm_437make_comb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_scaler = 0;
PyObject *__pyx_v_size = 0;
PyObject *__pyx_v_initial_contents = 0;
PyObject *__pyx_v_initial_element = 0;
PyObject *__pyx_v_max_size = 0;
PyObject *__pyx_v_interp_type = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_comb (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_scaler,&__pyx_n_s_size,&__pyx_n_s_initial_contents,&__pyx_n_s_initial_element,&__pyx_n_s_max_size,&__pyx_n_s_interp_type,0};
PyObject* values[6] = {0,0,0,0,0,0};
values[0] = ((PyObject *)__pyx_float_1_0);
/* … */
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_436make_comb(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_scaler, PyObject *__pyx_v_size, PyObject *__pyx_v_initial_contents, PyObject *__pyx_v_initial_element, PyObject *__pyx_v_max_size, PyObject *__pyx_v_interp_type) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_comb", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 6;
__pyx_t_2.scaler = __pyx_v_scaler;
__pyx_t_2.size = __pyx_v_size;
__pyx_t_2.initial_contents = __pyx_v_initial_contents;
__pyx_t_2.initial_element = __pyx_v_initial_element;
__pyx_t_2.max_size = __pyx_v_max_size;
__pyx_t_2.interp_type = __pyx_v_interp_type;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_comb(0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3033, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_comb", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__438 = PyTuple_Pack(6, __pyx_n_s_scaler, __pyx_n_s_size, __pyx_n_s_initial_contents, __pyx_n_s_initial_element, __pyx_n_s_max_size, __pyx_n_s_interp_type); if (unlikely(!__pyx_tuple__438)) __PYX_ERR(0, 3033, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__438);
__Pyx_GIVEREF(__pyx_tuple__438);
/* … */
__pyx_t_41 = PyTuple_New(6); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3033, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_INCREF(__pyx_float_1_0);
__Pyx_GIVEREF(__pyx_float_1_0);
PyTuple_SET_ITEM(__pyx_t_41, 0, __pyx_float_1_0);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_41, 1, Py_None);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_41, 2, Py_None);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_41, 3, Py_None);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_41, 4, Py_None);
__Pyx_GIVEREF(__pyx_t_37);
PyTuple_SET_ITEM(__pyx_t_41, 5, __pyx_t_37);
__pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3033, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_scaler, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3033, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_size, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 3033, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_initial_element, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3033, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_max_size, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 3033, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_437make_comb, 0, __pyx_n_s_make_comb, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__439)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3033, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_comb, __pyx_t_40) < 0) __PYX_ERR(0, 3033, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__439 = (PyObject*)__Pyx_PyCode_New(6, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__438, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_comb, 3033, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__439)) __PYX_ERR(0, 3033, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_comb {
int __pyx_n;
PyObject *scaler;
PyObject *size;
PyObject *initial_contents;
PyObject *initial_element;
PyObject *max_size;
PyObject *interp_type;
};
+3034: size: Optional[int]=None,
PyObject *__pyx_v_size = ((PyObject *)Py_None);
/* … */
values[1] = ((PyObject *)Py_None);
+3035: initial_contents=None,
PyObject *__pyx_v_initial_contents = ((PyObject *)Py_None);
/* … */
values[2] = ((PyObject *)Py_None);
+3036: initial_element: Optional[cython.double]=None,
PyObject *__pyx_v_initial_element = ((PyObject *)Py_None);
/* … */
values[3] = ((PyObject *)Py_None);
+3037: max_size:Optional[int]=None,
PyObject *__pyx_v_max_size = ((PyObject *)Py_None);
PyObject *__pyx_v_interp_type = __pyx_k__29;
__Pyx_memviewslice __pyx_v_initial_contents_view = { 0, 0, { 0 }, { 0 }, { 0 } };
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_comb", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_scaler = __pyx_optional_args->scaler;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_size = __pyx_optional_args->size;
if (__pyx_optional_args->__pyx_n > 2) {
__pyx_v_initial_contents = __pyx_optional_args->initial_contents;
if (__pyx_optional_args->__pyx_n > 3) {
__pyx_v_initial_element = __pyx_optional_args->initial_element;
if (__pyx_optional_args->__pyx_n > 4) {
__pyx_v_max_size = __pyx_optional_args->max_size;
if (__pyx_optional_args->__pyx_n > 5) {
__pyx_v_interp_type = __pyx_optional_args->interp_type;
}
}
}
}
}
}
}
__Pyx_INCREF(__pyx_v_initial_contents);
__Pyx_INCREF(__pyx_v_max_size);
__Pyx_INCREF(__pyx_v_interp_type);
/* … */
values[4] = ((PyObject *)Py_None);
values[5] = __pyx_k__29;
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_scaler);
if (value) { values[0] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3033, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3033, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_initial_contents);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3033, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_initial_element);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3033, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_max_size);
if (value) { values[4] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3033, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_interp_type);
if (value) { values[5] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3033, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_comb") < 0)) __PYX_ERR(0, 3033, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_scaler = values[0];
__pyx_v_size = values[1];
__pyx_v_initial_contents = values[2];
__pyx_v_initial_element = values[3];
__pyx_v_max_size = values[4];
__pyx_v_interp_type = values[5];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_comb", 0, 0, 6, __pyx_nargs); __PYX_ERR(0, 3033, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_comb", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_436make_comb(__pyx_self, __pyx_v_scaler, __pyx_v_size, __pyx_v_initial_contents, __pyx_v_initial_element, __pyx_v_max_size, __pyx_v_interp_type);
+3038: interp_type=Interp.NONE):
__pyx_t_37 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_NONE); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __pyx_k__29 = __pyx_t_37; __Pyx_GIVEREF(__pyx_t_37); __pyx_t_37 = 0; /* … */ __pyx_t_37 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_NONE); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37);
3039: """
3040: return a new comb filter (a delay line with a scaler on the feedback) of size elements.
3041: if the comb length will be changing at run-time, max-size sets its maximum length.
3042: """
3043:
+3044: cdef double [:] initial_contents_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 3044, __pyx_L1_error) __pyx_v_initial_contents_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
3045:
+3046: if not max_size:
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_max_size); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3046, __pyx_L1_error) __pyx_t_3 = (!__pyx_t_2); if (__pyx_t_3) { /* … */ }
+3047: max_size = size
__Pyx_INCREF(__pyx_v_size); __Pyx_DECREF_SET(__pyx_v_max_size, __pyx_v_size);
3048:
+3049: if max_size != size and interp_type == Interp.NONE:
__pyx_t_4 = PyObject_RichCompare(__pyx_v_max_size, __pyx_v_size, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3049, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3049, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_2) { } else { __pyx_t_3 = __pyx_t_2; goto __pyx_L5_bool_binop_done; } __pyx_t_4 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_NONE); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyObject_RichCompare(__pyx_v_interp_type, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3049, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3049, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_3 = __pyx_t_2; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+3050: interp_type = Interp.BEZIER #think this is correct from clm2xen.c
__pyx_t_5 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_BEZIER); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF_SET(__pyx_v_interp_type, __pyx_t_5); __pyx_t_5 = 0;
3051:
+3052: if initial_contents is not None:
__pyx_t_3 = (__pyx_v_initial_contents != Py_None);
if (__pyx_t_3) {
/* … */
goto __pyx_L7;
}
+3053: if isinstance(initial_contents, list):
__pyx_t_3 = PyList_Check(__pyx_v_initial_contents);
if (__pyx_t_3) {
/* … */
}
+3054: initial_contents = np.array(initial_contents)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_initial_contents}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF_SET(__pyx_v_initial_contents, __pyx_t_5); __pyx_t_5 = 0;
+3055: check_ndim(initial_contents)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_initial_contents}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+3056: initial_contents_view = initial_contents
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_initial_contents, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 3056, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_initial_contents_view, 1); __pyx_v_initial_contents_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
3057:
+3058: elif initial_element:
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_initial_element); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3058, __pyx_L1_error) if (__pyx_t_3) { /* … */ } __pyx_L7:;
+3059: initial_contents = np.zeros(max_size)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3059, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3059, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_max_size}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3059, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF_SET(__pyx_v_initial_contents, __pyx_t_5); __pyx_t_5 = 0;
+3060: check_ndim(initial_contents)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_initial_contents}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+3061: initial_contents.fill(initial_element)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_initial_contents, __pyx_n_s_fill); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_initial_element}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+3062: initial_contents_view = initial_contents
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_initial_contents, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 3062, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_initial_contents_view, 1); __pyx_v_initial_contents_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
3063:
+3064: if initial_contents_view is not None:
__pyx_t_3 = (((PyObject *) __pyx_v_initial_contents_view.memview) != Py_None);
if (__pyx_t_3) {
/* … */
goto __pyx_L9;
}
+3065: gen = mus_any.from_ptr(cclm.mus_make_comb(scaler, size, &initial_contents_view[0], max_size, interp_type))
__pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_v_scaler); if (unlikely((__pyx_t_8 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3065, __pyx_L1_error) __pyx_t_7 = __Pyx_PyInt_As_int(__pyx_v_size); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3065, __pyx_L1_error) __pyx_t_9 = 0; __pyx_t_10 = -1; if (__pyx_t_9 < 0) { __pyx_t_9 += __pyx_v_initial_contents_view.shape[0]; if (unlikely(__pyx_t_9 < 0)) __pyx_t_10 = 0; } else if (unlikely(__pyx_t_9 >= __pyx_v_initial_contents_view.shape[0])) __pyx_t_10 = 0; if (unlikely(__pyx_t_10 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_10); __PYX_ERR(0, 3065, __pyx_L1_error) } __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_v_max_size); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3065, __pyx_L1_error) __pyx_t_11 = ((mus_interp_t)__Pyx_PyInt_As_mus_interp_t(__pyx_v_interp_type)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3065, __pyx_L1_error) __pyx_t_5 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_comb(__pyx_t_8, __pyx_t_7, (&(*((double *) ( /* dim=0 */ (__pyx_v_initial_contents_view.data + __pyx_t_9 * __pyx_v_initial_contents_view.strides[0]) )))), __pyx_t_10, __pyx_t_11), NULL)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_5); __pyx_t_5 = 0;
3066: else:
+3067: gen = mus_any.from_ptr(cclm.mus_make_comb(scaler, size, NULL, max_size, interp_type))
/*else*/ {
__pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_v_scaler); if (unlikely((__pyx_t_8 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3067, __pyx_L1_error)
__pyx_t_10 = __Pyx_PyInt_As_int(__pyx_v_size); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3067, __pyx_L1_error)
__pyx_t_7 = __Pyx_PyInt_As_int(__pyx_v_max_size); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3067, __pyx_L1_error)
__pyx_t_11 = ((mus_interp_t)__Pyx_PyInt_As_mus_interp_t(__pyx_v_interp_type)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3067, __pyx_L1_error)
__pyx_t_5 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_comb(__pyx_t_8, __pyx_t_10, NULL, __pyx_t_7, __pyx_t_11), NULL)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3067, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_5);
__pyx_t_5 = 0;
}
__pyx_L9:;
+3068: gen.cache_append(initial_contents)
__pyx_t_5 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_append(__pyx_v_gen, __pyx_v_initial_contents, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3068, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+3069: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
3070:
+3071: cpdef cython.double comb(gen: mus_any, insig: cython.double, pm: Optional[cython.double]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_439comb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_comb(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_comb *__pyx_optional_args) {
PyObject *__pyx_v_pm = ((PyObject *)Py_None);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("comb", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_pm = __pyx_optional_args->pm;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.comb", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_439comb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_438comb, "\n comb filter val, pm changes the delay length.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_439comb = {"comb", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_439comb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_438comb};
static PyObject *__pyx_pw_8pysndlib_3clm_439comb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_insig;
PyObject *__pyx_v_pm = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("comb (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_insig,&__pyx_n_s_pm,0};
PyObject* values[3] = {0,0,0};
values[2] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3071, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_insig)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3071, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("comb", 0, 2, 3, 1); __PYX_ERR(0, 3071, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pm);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3071, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "comb") < 0)) __PYX_ERR(0, 3071, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_insig = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_insig == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3071, __pyx_L3_error)
__pyx_v_pm = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("comb", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 3071, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.comb", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3071, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_438comb(__pyx_self, __pyx_v_gen, __pyx_v_insig, __pyx_v_pm);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_438comb(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, PyObject *__pyx_v_pm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("comb", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.pm = __pyx_v_pm;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_comb(__pyx_v_gen, __pyx_v_insig, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3071, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3071, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.comb", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3071, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3071, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_insig, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 3071, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_pm, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3071, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_439comb, 0, __pyx_n_s_comb, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__440)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3071, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_comb, __pyx_t_37) < 0) __PYX_ERR(0, 3071, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__440 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__431, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_comb, 3071, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__440)) __PYX_ERR(0, 3071, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_comb {
int __pyx_n;
PyObject *pm;
};
3072: """
3073: comb filter val, pm changes the delay length.
3074: """
+3075: if pm:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_pm); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3075, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+3076: return cclm.mus_comb(gen._ptr, insig, pm)
__pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_pm); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3076, __pyx_L1_error) __pyx_r = mus_comb(__pyx_v_gen->_ptr, __pyx_v_insig, __pyx_t_2); goto __pyx_L0;
3077: else:
+3078: return cclm.mus_comb_unmodulated(gen._ptr, insig)
/*else*/ {
__pyx_r = mus_comb_unmodulated(__pyx_v_gen->_ptr, __pyx_v_insig);
goto __pyx_L0;
}
3079:
+3080: cpdef bint is_comb(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_441is_comb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_comb(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_comb", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_441is_comb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_440is_comb, "\n returns true if gen is a comb\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_441is_comb = {"is_comb", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_441is_comb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_440is_comb};
static PyObject *__pyx_pw_8pysndlib_3clm_441is_comb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_comb (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3080, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_comb") < 0)) __PYX_ERR(0, 3080, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_comb", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3080, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_comb", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3080, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_440is_comb(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_440is_comb(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_comb", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_comb(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3080, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3080, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_comb", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3080, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3080, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_441is_comb, 0, __pyx_n_s_is_comb, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__441)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3080, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_comb, __pyx_t_40) < 0) __PYX_ERR(0, 3080, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__441 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_comb, 3080, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__441)) __PYX_ERR(0, 3080, __pyx_L1_error)
3081: """
3082: returns true if gen is a comb
3083: :param gen: gen
3084: :return: result
3085: :rtype: bool
3086: """
+3087: return cclm.mus_is_comb(gen._ptr)
__pyx_r = mus_is_comb(__pyx_v_gen->_ptr); goto __pyx_L0;
3088:
3089: # ---------------- comb-bank ---------------- #
+3090: cpdef mus_any make_comb_bank(combs: list):
static PyObject *__pyx_pw_8pysndlib_3clm_443make_comb_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_comb_bank(PyObject *__pyx_v_combs, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyObject *__pyx_v_p = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any_array *__pyx_v_comb_array = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_comb_bank", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.make_comb_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_p);
__Pyx_XDECREF((PyObject *)__pyx_v_comb_array);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_443make_comb_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_442make_comb_bank, "\n return a new comb-bank generator.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_443make_comb_bank = {"make_comb_bank", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_443make_comb_bank, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_442make_comb_bank};
static PyObject *__pyx_pw_8pysndlib_3clm_443make_comb_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_combs = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_comb_bank (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_combs,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_combs)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3090, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_comb_bank") < 0)) __PYX_ERR(0, 3090, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_combs = ((PyObject*)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_comb_bank", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3090, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_comb_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_combs), (&PyList_Type), 0, "combs", 1))) __PYX_ERR(0, 3090, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_442make_comb_bank(__pyx_self, __pyx_v_combs);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_442make_comb_bank(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_combs) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_comb_bank", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_comb_bank(__pyx_v_combs, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3090, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_comb_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__442 = PyTuple_Pack(1, __pyx_n_s_combs); if (unlikely(!__pyx_tuple__442)) __PYX_ERR(0, 3090, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__442);
__Pyx_GIVEREF(__pyx_tuple__442);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3090, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_combs, __pyx_n_s_list) < 0) __PYX_ERR(0, 3090, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_443make_comb_bank, 0, __pyx_n_s_make_comb_bank, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__443)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3090, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_comb_bank, __pyx_t_37) < 0) __PYX_ERR(0, 3090, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__443 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__442, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_comb_bank, 3090, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__443)) __PYX_ERR(0, 3090, __pyx_L1_error)
3091: """
3092: return a new comb-bank generator.
3093: """
3094:
+3095: p = list(map(is_comb, combs))
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_comb); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3095, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3095, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_INCREF(__pyx_v_combs); __Pyx_GIVEREF(__pyx_v_combs); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_combs); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_map, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3095, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3095, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_p = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0;
+3096: if not all(p):
__pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_v_p); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3096, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3096, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = (!__pyx_t_3); if (unlikely(__pyx_t_4)) { /* … */ }
+3097: raise TypeError(f'filter list contains at least one element that is not a formant.')
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__27, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3097, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(0, 3097, __pyx_L1_error)
3098:
+3099: comb_array = mus_any_array.from_pylist(combs)
__pyx_t_2 = ((PyObject *)__pyx_f_8pysndlib_3clm_13mus_any_array_from_pylist(__pyx_v_combs)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_comb_array = ((struct __pyx_obj_8pysndlib_3clm_mus_any_array *)__pyx_t_2); __pyx_t_2 = 0;
3100:
+3101: gen = mus_any.from_ptr(cclm.mus_make_comb_bank(len(combs), comb_array.data))
__pyx_t_5 = PyList_GET_SIZE(__pyx_v_combs); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 3101, __pyx_L1_error) __pyx_t_2 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_comb_bank(__pyx_t_5, __pyx_v_comb_array->data), NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_2); __pyx_t_2 = 0;
+3102: gen.cache_extend([comb_array, combs])
__pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF((PyObject *)__pyx_v_comb_array); __Pyx_GIVEREF((PyObject *)__pyx_v_comb_array); PyList_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_comb_array)); __Pyx_INCREF(__pyx_v_combs); __Pyx_GIVEREF(__pyx_v_combs); PyList_SET_ITEM(__pyx_t_2, 1, __pyx_v_combs); __pyx_t_1 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_extend(__pyx_v_gen, __pyx_t_2, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3103: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
3104:
+3105: cpdef cython.double comb_bank(gen: mus_any, insig: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_445comb_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_comb_bank(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("comb_bank", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_445comb_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_444comb_bank, "\n sum an array of comb filters.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_445comb_bank = {"comb_bank", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_445comb_bank, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_444comb_bank};
static PyObject *__pyx_pw_8pysndlib_3clm_445comb_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_insig;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("comb_bank (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_insig,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3105, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_insig)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3105, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("comb_bank", 1, 2, 2, 1); __PYX_ERR(0, 3105, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "comb_bank") < 0)) __PYX_ERR(0, 3105, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_insig = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_insig == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3105, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("comb_bank", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3105, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.comb_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3105, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_444comb_bank(__pyx_self, __pyx_v_gen, __pyx_v_insig);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_444comb_bank(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("comb_bank", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_comb_bank(__pyx_v_gen, __pyx_v_insig, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3105, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3105, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.comb_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3105, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3105, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_insig, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 3105, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_445comb_bank, 0, __pyx_n_s_comb_bank, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__444)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3105, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_comb_bank, __pyx_t_40) < 0) __PYX_ERR(0, 3105, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__444 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__384, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_comb_bank, 3105, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__444)) __PYX_ERR(0, 3105, __pyx_L1_error)
3106: """
3107: sum an array of comb filters.
3108: """
+3109: return cclm.mus_comb_bank(gen._ptr, insig)
__pyx_r = mus_comb_bank(__pyx_v_gen->_ptr, __pyx_v_insig); goto __pyx_L0;
3110:
+3111: cpdef bint is_comb_bank(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_447is_comb_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_comb_bank(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_comb_bank", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_447is_comb_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_446is_comb_bank, "\n returns true if gen is a comb_bank\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_447is_comb_bank = {"is_comb_bank", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_447is_comb_bank, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_446is_comb_bank};
static PyObject *__pyx_pw_8pysndlib_3clm_447is_comb_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_comb_bank (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3111, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_comb_bank") < 0)) __PYX_ERR(0, 3111, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_comb_bank", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3111, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_comb_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3111, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_446is_comb_bank(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_446is_comb_bank(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_comb_bank", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_comb_bank(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3111, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3111, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_comb_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3111, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3111, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_447is_comb_bank, 0, __pyx_n_s_is_comb_bank, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__445)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3111, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_comb_bank, __pyx_t_37) < 0) __PYX_ERR(0, 3111, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__445 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_comb_bank, 3111, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__445)) __PYX_ERR(0, 3111, __pyx_L1_error)
3112: """
3113: returns true if gen is a comb_bank
3114: :param gen: gen
3115: :return: result
3116: :rtype: bool
3117: """
+3118: return cclm.mus_is_comb_bank(gen._ptr)
__pyx_r = mus_is_comb_bank(__pyx_v_gen->_ptr); goto __pyx_L0;
3119:
3120:
3121: # ---------------- filtered-comb ---------------- #
+3122: cpdef mus_any make_filtered_comb(scaler: cython.double,
static PyObject *__pyx_pw_8pysndlib_3clm_449make_filtered_comb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_filtered_comb(double __pyx_v_scaler, PyObject *__pyx_v_size, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_filter, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_filtered_comb *__pyx_optional_args) {
/* … */
/* function exit code */
__pyx_L1_error:;
__PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("pysndlib.clm.make_filtered_comb", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_initial_contents_view, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XDECREF(__pyx_v_initial_contents);
__Pyx_XDECREF(__pyx_v_max_size);
__Pyx_XDECREF(__pyx_v_interp_type);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_449make_filtered_comb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_448make_filtered_comb, "\n return a new filtered comb filter (a delay line with a scaler and a filter on the feedback) of size elements.\n if the comb length will be changing at run-time, max-size sets its maximum length.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_449make_filtered_comb = {"make_filtered_comb", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_449make_filtered_comb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_448make_filtered_comb};
static PyObject *__pyx_pw_8pysndlib_3clm_449make_filtered_comb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_scaler;
PyObject *__pyx_v_size = 0;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_filter = 0;
PyObject *__pyx_v_initial_contents = 0;
PyObject *__pyx_v_initial_element = 0;
PyObject *__pyx_v_max_size = 0;
PyObject *__pyx_v_interp_type = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_filtered_comb (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_scaler,&__pyx_n_s_size,&__pyx_n_s_filter,&__pyx_n_s_initial_contents,&__pyx_n_s_initial_element,&__pyx_n_s_max_size,&__pyx_n_s_interp_type,0};
PyObject* values[7] = {0,0,0,0,0,0,0};
/* … */
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_448make_filtered_comb(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_scaler, PyObject *__pyx_v_size, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_filter, PyObject *__pyx_v_initial_contents, PyObject *__pyx_v_initial_element, PyObject *__pyx_v_max_size, PyObject *__pyx_v_interp_type) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_filtered_comb", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 4;
__pyx_t_2.initial_contents = __pyx_v_initial_contents;
__pyx_t_2.initial_element = __pyx_v_initial_element;
__pyx_t_2.max_size = __pyx_v_max_size;
__pyx_t_2.interp_type = __pyx_v_interp_type;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_filtered_comb(__pyx_v_scaler, __pyx_v_size, __pyx_v_filter, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3122, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_filtered_comb", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__446 = PyTuple_Pack(7, __pyx_n_s_scaler, __pyx_n_s_size, __pyx_n_s_filter, __pyx_n_s_initial_contents, __pyx_n_s_initial_element, __pyx_n_s_max_size, __pyx_n_s_interp_type); if (unlikely(!__pyx_tuple__446)) __PYX_ERR(0, 3122, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__446);
__Pyx_GIVEREF(__pyx_tuple__446);
/* … */
__pyx_t_40 = PyTuple_New(4); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3122, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_40, 0, Py_None);
__Pyx_INCREF(__pyx_float_0_0);
__Pyx_GIVEREF(__pyx_float_0_0);
PyTuple_SET_ITEM(__pyx_t_40, 1, __pyx_float_0_0);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_40, 2, Py_None);
__Pyx_GIVEREF(__pyx_t_37);
PyTuple_SET_ITEM(__pyx_t_40, 3, __pyx_t_37);
__pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3122, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_scaler, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 3122, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_size, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 3122, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_filter, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3122, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_initial_element, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3122, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_max_size, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 3122, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_449make_filtered_comb, 0, __pyx_n_s_make_filtered_comb, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__447)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3122, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_filtered_comb, __pyx_t_41) < 0) __PYX_ERR(0, 3122, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__447 = (PyObject*)__Pyx_PyCode_New(7, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__446, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_filtered_comb, 3122, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__447)) __PYX_ERR(0, 3122, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_filtered_comb {
int __pyx_n;
PyObject *initial_contents;
PyObject *initial_element;
PyObject *max_size;
PyObject *interp_type;
};
3123: size: int,
3124: filter: mus_any,
+3125: initial_contents=None,
PyObject *__pyx_v_initial_contents = ((PyObject *)Py_None);
PyObject *__pyx_v_initial_element = ((PyObject *)__pyx_float_0_0);
/* … */
values[3] = ((PyObject *)Py_None);
values[4] = ((PyObject *)__pyx_float_0_0);
3126: initial_element: Optional[ cython.double]=0.0,
+3127: max_size:Optional[int]=None,
PyObject *__pyx_v_max_size = ((PyObject *)Py_None);
PyObject *__pyx_v_interp_type = __pyx_k__30;
__Pyx_memviewslice __pyx_v_initial_contents_view = { 0, 0, { 0 }, { 0 }, { 0 } };
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_filtered_comb", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_initial_contents = __pyx_optional_args->initial_contents;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_initial_element = __pyx_optional_args->initial_element;
if (__pyx_optional_args->__pyx_n > 2) {
__pyx_v_max_size = __pyx_optional_args->max_size;
if (__pyx_optional_args->__pyx_n > 3) {
__pyx_v_interp_type = __pyx_optional_args->interp_type;
}
}
}
}
}
__Pyx_INCREF(__pyx_v_initial_contents);
__Pyx_INCREF(__pyx_v_max_size);
__Pyx_INCREF(__pyx_v_interp_type);
/* … */
values[5] = ((PyObject *)Py_None);
values[6] = __pyx_k__30;
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 7: values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_scaler)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3122, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3122, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_filtered_comb", 0, 3, 7, 1); __PYX_ERR(0, 3122, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_filter)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3122, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_filtered_comb", 0, 3, 7, 2); __PYX_ERR(0, 3122, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_initial_contents);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3122, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_initial_element);
if (value) { values[4] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3122, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_max_size);
if (value) { values[5] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3122, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_interp_type);
if (value) { values[6] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3122, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_filtered_comb") < 0)) __PYX_ERR(0, 3122, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 7: values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_scaler = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_scaler == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3122, __pyx_L3_error)
__pyx_v_size = ((PyObject*)values[1]);
__pyx_v_filter = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[2]);
__pyx_v_initial_contents = values[3];
__pyx_v_initial_element = values[4];
__pyx_v_max_size = values[5];
__pyx_v_interp_type = values[6];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_filtered_comb", 0, 3, 7, __pyx_nargs); __PYX_ERR(0, 3122, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_filtered_comb", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_size), (&PyInt_Type), 0, "size", 1))) __PYX_ERR(0, 3123, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_filter), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "filter", 0))) __PYX_ERR(0, 3124, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_448make_filtered_comb(__pyx_self, __pyx_v_scaler, __pyx_v_size, __pyx_v_filter, __pyx_v_initial_contents, __pyx_v_initial_element, __pyx_v_max_size, __pyx_v_interp_type);
+3128: interp_type=Interp.NONE):
__pyx_t_37 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_NONE); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __pyx_k__30 = __pyx_t_37; __Pyx_GIVEREF(__pyx_t_37); __pyx_t_37 = 0; /* … */ __pyx_t_37 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_NONE); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37);
3129:
3130: """
3131: return a new filtered comb filter (a delay line with a scaler and a filter on the feedback) of size elements.
3132: if the comb length will be changing at run-time, max-size sets its maximum length.
3133: """
3134:
+3135: cdef double [:] initial_contents_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 3135, __pyx_L1_error) __pyx_v_initial_contents_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
3136:
+3137: if not max_size:
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_max_size); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3137, __pyx_L1_error) __pyx_t_3 = (!__pyx_t_2); if (__pyx_t_3) { /* … */ }
+3138: max_size = size
__Pyx_INCREF(__pyx_v_size); __Pyx_DECREF_SET(__pyx_v_max_size, __pyx_v_size);
3139:
+3140: if max_size != size and interp_type == Interp.NONE:
__pyx_t_4 = PyObject_RichCompare(__pyx_v_max_size, __pyx_v_size, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3140, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3140, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_2) { } else { __pyx_t_3 = __pyx_t_2; goto __pyx_L5_bool_binop_done; } __pyx_t_4 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_NONE); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyObject_RichCompare(__pyx_v_interp_type, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3140, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3140, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_3 = __pyx_t_2; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+3141: interp_type = Interp.BEZIER #think this is correct from clm2xen.c
__pyx_t_5 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_BEZIER); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF_SET(__pyx_v_interp_type, __pyx_t_5); __pyx_t_5 = 0;
3142:
+3143: if initial_contents is not None:
__pyx_t_3 = (__pyx_v_initial_contents != Py_None);
if (__pyx_t_3) {
/* … */
goto __pyx_L7;
}
+3144: if isinstance(initial_contents, list):
__pyx_t_3 = PyList_Check(__pyx_v_initial_contents);
if (__pyx_t_3) {
/* … */
}
+3145: initial_contents = np.array(initial_contents)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_initial_contents}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF_SET(__pyx_v_initial_contents, __pyx_t_5); __pyx_t_5 = 0;
+3146: initial_contents_view = initial_contents
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_initial_contents, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 3146, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_initial_contents_view, 1); __pyx_v_initial_contents_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
3147:
+3148: elif initial_element:
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_initial_element); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3148, __pyx_L1_error) if (__pyx_t_3) { /* … */ } __pyx_L7:;
+3149: initial_contents = np.zeros(max_size)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_max_size}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF_SET(__pyx_v_initial_contents, __pyx_t_5); __pyx_t_5 = 0;
+3150: check_ndim(initial_contents)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_initial_contents}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+3151: initial_contents.fill(initial_element)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_initial_contents, __pyx_n_s_fill); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_initial_element}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+3152: initial_contents_view = initial_contents
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_initial_contents, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 3152, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_initial_contents_view, 1); __pyx_v_initial_contents_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
3153:
+3154: if initial_contents_view is not None:
__pyx_t_3 = (((PyObject *) __pyx_v_initial_contents_view.memview) != Py_None);
if (__pyx_t_3) {
/* … */
goto __pyx_L9;
}
+3155: gen = mus_any.from_ptr(cclm.mus_make_filtered_comb(scaler, int(size), &initial_contents_view[0], int(max_size), interp_type, filter._ptr))
__pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_size); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3155, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_8 = 0; __pyx_t_9 = -1; if (__pyx_t_8 < 0) { __pyx_t_8 += __pyx_v_initial_contents_view.shape[0]; if (unlikely(__pyx_t_8 < 0)) __pyx_t_9 = 0; } else if (unlikely(__pyx_t_8 >= __pyx_v_initial_contents_view.shape[0])) __pyx_t_9 = 0; if (unlikely(__pyx_t_9 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_9); __PYX_ERR(0, 3155, __pyx_L1_error) } __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_max_size); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3155, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_10 = ((mus_interp_t)__Pyx_PyInt_As_mus_interp_t(__pyx_v_interp_type)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3155, __pyx_L1_error) __pyx_t_5 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_filtered_comb(__pyx_v_scaler, __pyx_t_7, (&(*((double *) ( /* dim=0 */ (__pyx_v_initial_contents_view.data + __pyx_t_8 * __pyx_v_initial_contents_view.strides[0]) )))), __pyx_t_9, __pyx_t_10, __pyx_v_filter->_ptr), NULL)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_5); __pyx_t_5 = 0;
3156: else:
+3157: gen = mus_any.from_ptr(cclm.mus_make_filtered_comb(scaler, int(size), NULL, int(max_size), interp_type, filter._ptr))
/*else*/ {
__pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_size); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3157, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_9 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3157, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_max_size); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3157, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_7 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3157, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_10 = ((mus_interp_t)__Pyx_PyInt_As_mus_interp_t(__pyx_v_interp_type)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3157, __pyx_L1_error)
__pyx_t_5 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_filtered_comb(__pyx_v_scaler, __pyx_t_9, NULL, __pyx_t_7, __pyx_t_10, __pyx_v_filter->_ptr), NULL)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3157, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_5);
__pyx_t_5 = 0;
}
__pyx_L9:;
+3158: gen.cache_append(initial_contents)
__pyx_t_5 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_append(__pyx_v_gen, __pyx_v_initial_contents, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+3159: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
3160:
+3161: cpdef cython.double filtered_comb(gen: mus_any, insig: cython.double, pm: Optional[ cython.double]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_451filtered_comb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_filtered_comb(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_filtered_comb *__pyx_optional_args) {
PyObject *__pyx_v_pm = ((PyObject *)Py_None);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("filtered_comb", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_pm = __pyx_optional_args->pm;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.filtered_comb", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_451filtered_comb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_450filtered_comb, "\n filtered comb filter val, pm changes the delay length.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_451filtered_comb = {"filtered_comb", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_451filtered_comb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_450filtered_comb};
static PyObject *__pyx_pw_8pysndlib_3clm_451filtered_comb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_insig;
PyObject *__pyx_v_pm = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("filtered_comb (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_insig,&__pyx_n_s_pm,0};
PyObject* values[3] = {0,0,0};
values[2] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3161, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_insig)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3161, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("filtered_comb", 0, 2, 3, 1); __PYX_ERR(0, 3161, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pm);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3161, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "filtered_comb") < 0)) __PYX_ERR(0, 3161, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_insig = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_insig == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3161, __pyx_L3_error)
__pyx_v_pm = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("filtered_comb", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 3161, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.filtered_comb", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3161, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_450filtered_comb(__pyx_self, __pyx_v_gen, __pyx_v_insig, __pyx_v_pm);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_450filtered_comb(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, PyObject *__pyx_v_pm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("filtered_comb", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.pm = __pyx_v_pm;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_filtered_comb(__pyx_v_gen, __pyx_v_insig, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3161, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3161, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.filtered_comb", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3161, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3161, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_insig, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 3161, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_pm, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3161, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_451filtered_comb, 0, __pyx_n_s_filtered_comb, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__448)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3161, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_filtered_comb, __pyx_t_37) < 0) __PYX_ERR(0, 3161, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__448 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__431, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_filtered_comb, 3161, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__448)) __PYX_ERR(0, 3161, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_filtered_comb {
int __pyx_n;
PyObject *pm;
};
3162: """
3163: filtered comb filter val, pm changes the delay length.
3164: """
+3165: if pm:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_pm); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3165, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+3166: return cclm.mus_filtered_comb(gen._ptr, insig, pm)
__pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_pm); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3166, __pyx_L1_error) __pyx_r = mus_filtered_comb(__pyx_v_gen->_ptr, __pyx_v_insig, __pyx_t_2); goto __pyx_L0;
3167: else:
+3168: return cclm.mus_filtered_comb_unmodulated(gen._ptr, insig)
/*else*/ {
__pyx_r = mus_filtered_comb_unmodulated(__pyx_v_gen->_ptr, __pyx_v_insig);
goto __pyx_L0;
}
3169:
+3170: cpdef bint is_filtered_comb(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_453is_filtered_comb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_filtered_comb(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_filtered_comb", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_453is_filtered_comb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_452is_filtered_comb, "\n returns true if gen is a filtered_comb\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_453is_filtered_comb = {"is_filtered_comb", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_453is_filtered_comb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_452is_filtered_comb};
static PyObject *__pyx_pw_8pysndlib_3clm_453is_filtered_comb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_filtered_comb (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3170, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_filtered_comb") < 0)) __PYX_ERR(0, 3170, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_filtered_comb", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3170, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_filtered_comb", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3170, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_452is_filtered_comb(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_452is_filtered_comb(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_filtered_comb", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_filtered_comb(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3170, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3170, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_filtered_comb", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3170, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3170, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_453is_filtered_comb, 0, __pyx_n_s_is_filtered_comb, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__449)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3170, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_filtered_comb, __pyx_t_41) < 0) __PYX_ERR(0, 3170, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__449 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_filtered_comb, 3170, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__449)) __PYX_ERR(0, 3170, __pyx_L1_error)
3171: """
3172: returns true if gen is a filtered_comb
3173: :param gen: gen
3174: :return: result
3175: :rtype: bool
3176: """
+3177: return cclm.mus_is_filtered_comb(gen._ptr)
__pyx_r = mus_is_filtered_comb(__pyx_v_gen->_ptr); goto __pyx_L0;
3178:
3179: # ---------------- filtered-comb-bank ---------------- #
+3180: cpdef mus_any make_filtered_comb_bank(fcombs: list):
static PyObject *__pyx_pw_8pysndlib_3clm_455make_filtered_comb_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_filtered_comb_bank(PyObject *__pyx_v_fcombs, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyObject *__pyx_v_p = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any_array *__pyx_v_fcomb_array = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_filtered_comb_bank", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.make_filtered_comb_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_p);
__Pyx_XDECREF((PyObject *)__pyx_v_fcomb_array);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_455make_filtered_comb_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_454make_filtered_comb_bank, "\n return a new filtered_comb-bank generator.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_455make_filtered_comb_bank = {"make_filtered_comb_bank", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_455make_filtered_comb_bank, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_454make_filtered_comb_bank};
static PyObject *__pyx_pw_8pysndlib_3clm_455make_filtered_comb_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_fcombs = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_filtered_comb_bank (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fcombs,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fcombs)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3180, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_filtered_comb_bank") < 0)) __PYX_ERR(0, 3180, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_fcombs = ((PyObject*)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_filtered_comb_bank", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3180, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_filtered_comb_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fcombs), (&PyList_Type), 0, "fcombs", 1))) __PYX_ERR(0, 3180, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_454make_filtered_comb_bank(__pyx_self, __pyx_v_fcombs);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_454make_filtered_comb_bank(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fcombs) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_filtered_comb_bank", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_filtered_comb_bank(__pyx_v_fcombs, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3180, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_filtered_comb_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__450 = PyTuple_Pack(1, __pyx_n_s_fcombs); if (unlikely(!__pyx_tuple__450)) __PYX_ERR(0, 3180, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__450);
__Pyx_GIVEREF(__pyx_tuple__450);
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3180, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_fcombs, __pyx_n_s_list) < 0) __PYX_ERR(0, 3180, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_455make_filtered_comb_bank, 0, __pyx_n_s_make_filtered_comb_bank, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__451)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3180, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_filtered_comb_bank, __pyx_t_37) < 0) __PYX_ERR(0, 3180, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__451 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__450, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_filtered_comb_bank, 3180, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__451)) __PYX_ERR(0, 3180, __pyx_L1_error)
3181: """
3182: return a new filtered_comb-bank generator.
3183: """
+3184: p = list(map(is_formant, fcombs))
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_formant); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_INCREF(__pyx_v_fcombs); __Pyx_GIVEREF(__pyx_v_fcombs); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_fcombs); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_map, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_p = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0;
+3185: if not all(p):
__pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_v_p); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3185, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = (!__pyx_t_3); if (unlikely(__pyx_t_4)) { /* … */ }
+3186: raise TypeError(f'filter list contains at least one element that is not a filtered_comb.')
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__31, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(0, 3186, __pyx_L1_error) /* … */ __pyx_tuple__31 = PyTuple_Pack(1, __pyx_kp_u_filter_list_contains_at_least_on_2); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(0, 3186, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31);
3187:
+3188: fcomb_array = mus_any_array.from_pylist(fcombs)
__pyx_t_2 = ((PyObject *)__pyx_f_8pysndlib_3clm_13mus_any_array_from_pylist(__pyx_v_fcombs)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_fcomb_array = ((struct __pyx_obj_8pysndlib_3clm_mus_any_array *)__pyx_t_2); __pyx_t_2 = 0;
3189:
+3190: gen = mus_any.from_ptr(cclm.mus_make_filtered_comb_bank(len(fcombs), fcomb_array.data))
__pyx_t_5 = PyList_GET_SIZE(__pyx_v_fcombs); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 3190, __pyx_L1_error) __pyx_t_2 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_filtered_comb_bank(__pyx_t_5, __pyx_v_fcomb_array->data), NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_2); __pyx_t_2 = 0;
+3191: gen.cache_extend([fcomb_array, fcombs])
__pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF((PyObject *)__pyx_v_fcomb_array); __Pyx_GIVEREF((PyObject *)__pyx_v_fcomb_array); PyList_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_fcomb_array)); __Pyx_INCREF(__pyx_v_fcombs); __Pyx_GIVEREF(__pyx_v_fcombs); PyList_SET_ITEM(__pyx_t_2, 1, __pyx_v_fcombs); __pyx_t_1 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_extend(__pyx_v_gen, __pyx_t_2, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3192: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
3193:
+3194: cpdef cython.double filtered_comb_bank(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_457filtered_comb_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_filtered_comb_bank(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("filtered_comb_bank", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.filtered_comb_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_457filtered_comb_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_456filtered_comb_bank, "\n sum an array of filtered_comb filters.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_457filtered_comb_bank = {"filtered_comb_bank", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_457filtered_comb_bank, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_456filtered_comb_bank};
static PyObject *__pyx_pw_8pysndlib_3clm_457filtered_comb_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("filtered_comb_bank (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3194, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "filtered_comb_bank") < 0)) __PYX_ERR(0, 3194, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("filtered_comb_bank", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3194, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.filtered_comb_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3194, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_456filtered_comb_bank(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_456filtered_comb_bank(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("filtered_comb_bank", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_filtered_comb_bank(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3194, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3194, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.filtered_comb_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3194, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3194, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_457filtered_comb_bank, 0, __pyx_n_s_filtered_comb_bank, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__452)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3194, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_filtered_comb_bank, __pyx_t_41) < 0) __PYX_ERR(0, 3194, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__452 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_filtered_comb_bank, 3194, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__452)) __PYX_ERR(0, 3194, __pyx_L1_error)
3195: """
3196: sum an array of filtered_comb filters.
3197: """
+3198: return cclm.mus_filtered_comb_bank(gen._ptr, input)
__pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_builtin_input); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3198, __pyx_L1_error) __pyx_r = mus_filtered_comb_bank(__pyx_v_gen->_ptr, __pyx_t_1); goto __pyx_L0;
3199:
+3200: cpdef bint is_filtered_comb_bank(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_459is_filtered_comb_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_filtered_comb_bank(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_filtered_comb_bank", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_459is_filtered_comb_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_458is_filtered_comb_bank, "\n returns true if gen is a filtered_comb_bank\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_459is_filtered_comb_bank = {"is_filtered_comb_bank", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_459is_filtered_comb_bank, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_458is_filtered_comb_bank};
static PyObject *__pyx_pw_8pysndlib_3clm_459is_filtered_comb_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_filtered_comb_bank (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3200, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_filtered_comb_bank") < 0)) __PYX_ERR(0, 3200, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_filtered_comb_bank", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3200, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_filtered_comb_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3200, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_458is_filtered_comb_bank(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_458is_filtered_comb_bank(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_filtered_comb_bank", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_filtered_comb_bank(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3200, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3200, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_filtered_comb_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3200, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3200, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_459is_filtered_comb_bank, 0, __pyx_n_s_is_filtered_comb_bank, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__453)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3200, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_filtered_comb_bank, __pyx_t_37) < 0) __PYX_ERR(0, 3200, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__453 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_filtered_comb_bank, 3200, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__453)) __PYX_ERR(0, 3200, __pyx_L1_error)
3201: """
3202: returns true if gen is a filtered_comb_bank
3203: :param gen: gen
3204: :return: result
3205: :rtype: bool
3206: """
+3207: return cclm.mus_is_filtered_comb_bank(gen._ptr)
__pyx_r = mus_is_filtered_comb_bank(__pyx_v_gen->_ptr); goto __pyx_L0;
3208:
3209: # ---------------- notch ---------------- #
+3210: cpdef mus_any make_notch(scaler: Optional[cython.double]=1.0,
static PyObject *__pyx_pw_8pysndlib_3clm_461make_notch(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_notch(CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_notch *__pyx_optional_args) {
PyObject *__pyx_v_scaler = ((PyObject *)__pyx_float_1_0);
/* … */
/* function exit code */
__pyx_L1_error:;
__PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_AddTraceback("pysndlib.clm.make_notch", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_initial_contents_view, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XDECREF(__pyx_v_initial_contents);
__Pyx_XDECREF(__pyx_v_max_size);
__Pyx_XDECREF(__pyx_v_interp_type);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_461make_notch(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_460make_notch, "\n return a new notch filter (a delay line with a scaler on the feedforward) of size elements.\n if the notch length will be changing at run-time, max-size sets its maximum length\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_461make_notch = {"make_notch", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_461make_notch, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_460make_notch};
static PyObject *__pyx_pw_8pysndlib_3clm_461make_notch(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_scaler = 0;
PyObject *__pyx_v_size = 0;
PyObject *__pyx_v_initial_contents = 0;
PyObject *__pyx_v_initial_element = 0;
PyObject *__pyx_v_max_size = 0;
PyObject *__pyx_v_interp_type = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_notch (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_scaler,&__pyx_n_s_size,&__pyx_n_s_initial_contents,&__pyx_n_s_initial_element,&__pyx_n_s_max_size,&__pyx_n_s_interp_type,0};
PyObject* values[6] = {0,0,0,0,0,0};
values[0] = ((PyObject *)__pyx_float_1_0);
/* … */
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_460make_notch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_scaler, PyObject *__pyx_v_size, PyObject *__pyx_v_initial_contents, PyObject *__pyx_v_initial_element, PyObject *__pyx_v_max_size, PyObject *__pyx_v_interp_type) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_notch", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 6;
__pyx_t_2.scaler = __pyx_v_scaler;
__pyx_t_2.size = __pyx_v_size;
__pyx_t_2.initial_contents = __pyx_v_initial_contents;
__pyx_t_2.initial_element = __pyx_v_initial_element;
__pyx_t_2.max_size = __pyx_v_max_size;
__pyx_t_2.interp_type = __pyx_v_interp_type;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_notch(0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3210, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_notch", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = PyTuple_New(6); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3210, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_INCREF(__pyx_float_1_0);
__Pyx_GIVEREF(__pyx_float_1_0);
PyTuple_SET_ITEM(__pyx_t_41, 0, __pyx_float_1_0);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_41, 1, Py_None);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_41, 2, Py_None);
__Pyx_INCREF(__pyx_float_0_0);
__Pyx_GIVEREF(__pyx_float_0_0);
PyTuple_SET_ITEM(__pyx_t_41, 3, __pyx_float_0_0);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_41, 4, Py_None);
__Pyx_GIVEREF(__pyx_t_37);
PyTuple_SET_ITEM(__pyx_t_41, 5, __pyx_t_37);
__pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3210, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_scaler, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3210, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_size, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 3210, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_initial_element, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3210, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_max_size, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 3210, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_461make_notch, 0, __pyx_n_s_make_notch, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__454)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3210, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_notch, __pyx_t_40) < 0) __PYX_ERR(0, 3210, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__454 = (PyObject*)__Pyx_PyCode_New(6, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__438, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_notch, 3210, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__454)) __PYX_ERR(0, 3210, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_notch {
int __pyx_n;
PyObject *scaler;
PyObject *size;
PyObject *initial_contents;
PyObject *initial_element;
PyObject *max_size;
PyObject *interp_type;
};
+3211: size: Optional[int]=None,
PyObject *__pyx_v_size = ((PyObject *)Py_None);
/* … */
values[1] = ((PyObject *)Py_None);
+3212: initial_contents=None,
PyObject *__pyx_v_initial_contents = ((PyObject *)Py_None);
PyObject *__pyx_v_initial_element = ((PyObject *)__pyx_float_0_0);
/* … */
values[2] = ((PyObject *)Py_None);
values[3] = ((PyObject *)__pyx_float_0_0);
3213: initial_element: Optional[cython.double]=0.0,
+3214: max_size:Optional[int]=None,
PyObject *__pyx_v_max_size = ((PyObject *)Py_None);
PyObject *__pyx_v_interp_type = __pyx_k__32;
__Pyx_memviewslice __pyx_v_initial_contents_view = { 0, 0, { 0 }, { 0 }, { 0 } };
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_notch", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_scaler = __pyx_optional_args->scaler;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_size = __pyx_optional_args->size;
if (__pyx_optional_args->__pyx_n > 2) {
__pyx_v_initial_contents = __pyx_optional_args->initial_contents;
if (__pyx_optional_args->__pyx_n > 3) {
__pyx_v_initial_element = __pyx_optional_args->initial_element;
if (__pyx_optional_args->__pyx_n > 4) {
__pyx_v_max_size = __pyx_optional_args->max_size;
if (__pyx_optional_args->__pyx_n > 5) {
__pyx_v_interp_type = __pyx_optional_args->interp_type;
}
}
}
}
}
}
}
__Pyx_INCREF(__pyx_v_initial_contents);
__Pyx_INCREF(__pyx_v_max_size);
__Pyx_INCREF(__pyx_v_interp_type);
/* … */
values[4] = ((PyObject *)Py_None);
values[5] = __pyx_k__32;
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_scaler);
if (value) { values[0] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3210, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3210, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_initial_contents);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3210, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_initial_element);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3210, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_max_size);
if (value) { values[4] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3210, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_interp_type);
if (value) { values[5] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3210, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_notch") < 0)) __PYX_ERR(0, 3210, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_scaler = values[0];
__pyx_v_size = values[1];
__pyx_v_initial_contents = values[2];
__pyx_v_initial_element = values[3];
__pyx_v_max_size = values[4];
__pyx_v_interp_type = values[5];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_notch", 0, 0, 6, __pyx_nargs); __PYX_ERR(0, 3210, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_notch", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_460make_notch(__pyx_self, __pyx_v_scaler, __pyx_v_size, __pyx_v_initial_contents, __pyx_v_initial_element, __pyx_v_max_size, __pyx_v_interp_type);
+3215: interp_type=Interp.NONE):
__pyx_t_37 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_NONE); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3215, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __pyx_k__32 = __pyx_t_37; __Pyx_GIVEREF(__pyx_t_37); __pyx_t_37 = 0; /* … */ __pyx_t_37 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_NONE); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3215, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37);
3216:
3217: """
3218: return a new notch filter (a delay line with a scaler on the feedforward) of size elements.
3219: if the notch length will be changing at run-time, max-size sets its maximum length
3220: """
3221:
+3222: cdef double [:] initial_contents_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 3222, __pyx_L1_error) __pyx_v_initial_contents_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
3223:
+3224: if not max_size:
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_max_size); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3224, __pyx_L1_error) __pyx_t_3 = (!__pyx_t_2); if (__pyx_t_3) { /* … */ }
+3225: max_size = size
__Pyx_INCREF(__pyx_v_size); __Pyx_DECREF_SET(__pyx_v_max_size, __pyx_v_size);
3226:
+3227: if max_size != size and interp_type == Interp.NONE:
__pyx_t_4 = PyObject_RichCompare(__pyx_v_max_size, __pyx_v_size, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3227, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3227, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_2) { } else { __pyx_t_3 = __pyx_t_2; goto __pyx_L5_bool_binop_done; } __pyx_t_4 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_NONE); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyObject_RichCompare(__pyx_v_interp_type, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3227, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3227, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_3 = __pyx_t_2; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+3228: interp_type = Interp.BEZIER #think this is correct from clm2xen.c
__pyx_t_5 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_BEZIER); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF_SET(__pyx_v_interp_type, __pyx_t_5); __pyx_t_5 = 0;
3229:
3230:
+3231: if initial_contents is not None:
__pyx_t_3 = (__pyx_v_initial_contents != Py_None);
if (__pyx_t_3) {
/* … */
goto __pyx_L7;
}
+3232: if isinstance(initial_contents, list):
__pyx_t_3 = PyList_Check(__pyx_v_initial_contents);
if (__pyx_t_3) {
/* … */
}
+3233: initial_contents = np.array(initial_contents)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_initial_contents}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF_SET(__pyx_v_initial_contents, __pyx_t_5); __pyx_t_5 = 0;
+3234: check_ndim(initial_contents)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_initial_contents}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+3235: initial_contents_view = initial_contents
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_initial_contents, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 3235, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_initial_contents_view, 1); __pyx_v_initial_contents_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
3236:
+3237: elif initial_element:
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_initial_element); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3237, __pyx_L1_error) if (__pyx_t_3) { /* … */ } __pyx_L7:;
+3238: initial_contents = np.zeros(max_size, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_zeros); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_max_size); __Pyx_GIVEREF(__pyx_v_max_size); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_max_size); __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_double); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_9) < 0) __PYX_ERR(0, 3238, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_initial_contents, __pyx_t_9); __pyx_t_9 = 0;
+3239: check_ndim(initial_contents)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_initial_contents}; __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+3240: initial_contents.fill(initial_element)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_initial_contents, __pyx_n_s_fill); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3240, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_initial_element}; __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3240, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+3241: initial_contents_view = initial_contents
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_initial_contents, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 3241, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_initial_contents_view, 1); __pyx_v_initial_contents_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
3242:
+3243: if initial_contents_view is not None:
__pyx_t_3 = (((PyObject *) __pyx_v_initial_contents_view.memview) != Py_None);
if (__pyx_t_3) {
/* … */
goto __pyx_L9;
}
+3244: gen = mus_any.from_ptr(cclm.mus_make_notch(scaler, size, &initial_contents_view[0], max_size, interp_type))
__pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_v_scaler); if (unlikely((__pyx_t_10 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3244, __pyx_L1_error) __pyx_t_7 = __Pyx_PyInt_As_int(__pyx_v_size); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3244, __pyx_L1_error) __pyx_t_11 = 0; __pyx_t_12 = -1; if (__pyx_t_11 < 0) { __pyx_t_11 += __pyx_v_initial_contents_view.shape[0]; if (unlikely(__pyx_t_11 < 0)) __pyx_t_12 = 0; } else if (unlikely(__pyx_t_11 >= __pyx_v_initial_contents_view.shape[0])) __pyx_t_12 = 0; if (unlikely(__pyx_t_12 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_12); __PYX_ERR(0, 3244, __pyx_L1_error) } __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_v_max_size); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3244, __pyx_L1_error) __pyx_t_13 = ((mus_interp_t)__Pyx_PyInt_As_mus_interp_t(__pyx_v_interp_type)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3244, __pyx_L1_error) __pyx_t_9 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_notch(__pyx_t_10, __pyx_t_7, (&(*((double *) ( /* dim=0 */ (__pyx_v_initial_contents_view.data + __pyx_t_11 * __pyx_v_initial_contents_view.strides[0]) )))), __pyx_t_12, __pyx_t_13), NULL)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_9); __pyx_t_9 = 0;
3245: else:
+3246: gen = mus_any.from_ptr(cclm.mus_make_notch(scaler, size, NULL, max_size, interp_type))
/*else*/ {
__pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_v_scaler); if (unlikely((__pyx_t_10 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3246, __pyx_L1_error)
__pyx_t_12 = __Pyx_PyInt_As_int(__pyx_v_size); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3246, __pyx_L1_error)
__pyx_t_7 = __Pyx_PyInt_As_int(__pyx_v_max_size); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3246, __pyx_L1_error)
__pyx_t_13 = ((mus_interp_t)__Pyx_PyInt_As_mus_interp_t(__pyx_v_interp_type)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3246, __pyx_L1_error)
__pyx_t_9 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_notch(__pyx_t_10, __pyx_t_12, NULL, __pyx_t_7, __pyx_t_13), NULL)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3246, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_9);
__pyx_t_9 = 0;
}
__pyx_L9:;
+3247: gen.cache_append(initial_contents)
__pyx_t_9 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_append(__pyx_v_gen, __pyx_v_initial_contents, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+3248: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
3249:
+3250: cpdef cython.double notch(gen: mus_any, insig: cython.double, pm: Optional[cython.double]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_463notch(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_notch(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_notch *__pyx_optional_args) {
PyObject *__pyx_v_pm = ((PyObject *)Py_None);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("notch", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_pm = __pyx_optional_args->pm;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.notch", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_463notch(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_462notch, "\n notch filter val, pm changes the delay length.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_463notch = {"notch", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_463notch, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_462notch};
static PyObject *__pyx_pw_8pysndlib_3clm_463notch(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_insig;
PyObject *__pyx_v_pm = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("notch (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_insig,&__pyx_n_s_pm,0};
PyObject* values[3] = {0,0,0};
values[2] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3250, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_insig)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3250, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("notch", 0, 2, 3, 1); __PYX_ERR(0, 3250, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pm);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3250, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "notch") < 0)) __PYX_ERR(0, 3250, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_insig = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_insig == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3250, __pyx_L3_error)
__pyx_v_pm = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("notch", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 3250, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.notch", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3250, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_462notch(__pyx_self, __pyx_v_gen, __pyx_v_insig, __pyx_v_pm);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_462notch(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, PyObject *__pyx_v_pm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("notch", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.pm = __pyx_v_pm;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_notch(__pyx_v_gen, __pyx_v_insig, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3250, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3250, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.notch", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3250, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3250, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_insig, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 3250, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_pm, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3250, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_463notch, 0, __pyx_n_s_notch, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__455)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3250, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_notch, __pyx_t_37) < 0) __PYX_ERR(0, 3250, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__455 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__431, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_notch, 3250, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__455)) __PYX_ERR(0, 3250, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_notch {
int __pyx_n;
PyObject *pm;
};
3251: """
3252: notch filter val, pm changes the delay length.
3253: """
+3254: if pm:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_pm); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3254, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+3255: return cclm.mus_notch(gen._ptr, input, pm)
__pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_builtin_input); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3255, __pyx_L1_error) __pyx_t_3 = __pyx_PyFloat_AsDouble(__pyx_v_pm); if (unlikely((__pyx_t_3 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3255, __pyx_L1_error) __pyx_r = mus_notch(__pyx_v_gen->_ptr, __pyx_t_2, __pyx_t_3); goto __pyx_L0;
3256: else:
+3257: return cclm.mus_notch_unmodulated(gen._ptr, insig)
/*else*/ {
__pyx_r = mus_notch_unmodulated(__pyx_v_gen->_ptr, __pyx_v_insig);
goto __pyx_L0;
}
3258:
+3259: cpdef bint is_notch(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_465is_notch(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_notch(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_notch", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_465is_notch(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_464is_notch, "\n returns true if gen is a notch\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_465is_notch = {"is_notch", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_465is_notch, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_464is_notch};
static PyObject *__pyx_pw_8pysndlib_3clm_465is_notch(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_notch (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3259, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_notch") < 0)) __PYX_ERR(0, 3259, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_notch", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3259, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_notch", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3259, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_464is_notch(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_464is_notch(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_notch", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_notch(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3259, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3259, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_notch", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3259, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3259, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_465is_notch, 0, __pyx_n_s_is_notch, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__456)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3259, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_notch, __pyx_t_40) < 0) __PYX_ERR(0, 3259, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__456 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_notch, 3259, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__456)) __PYX_ERR(0, 3259, __pyx_L1_error)
3260: """
3261: returns true if gen is a notch
3262: :param gen: gen
3263: :return: result
3264: :rtype: bool
3265: """
+3266: return cclm.mus_is_notch(gen._ptr)
__pyx_r = mus_is_notch(__pyx_v_gen->_ptr); goto __pyx_L0;
3267:
3268:
3269: # ---------------- all-pass ---------------- #
+3270: cpdef mus_any make_all_pass(feedback: float, feedforward: float, size: int, initial_contents: Optional[np.ndarray] = None, initial_element: Optional[float] = 0.0, max_size:Optional[int] = None, interp_type: Optional[Interp] = Interp.NONE):
static PyObject *__pyx_pw_8pysndlib_3clm_467make_all_pass(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_all_pass(double __pyx_v_feedback, double __pyx_v_feedforward, PyObject *__pyx_v_size, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_all_pass *__pyx_optional_args) {
PyObject *__pyx_v_initial_contents = ((PyObject *)Py_None);
PyObject *__pyx_v_initial_element = ((PyObject *)__pyx_float_0_0);
PyObject *__pyx_v_max_size = ((PyObject *)Py_None);
PyObject *__pyx_v_interp_type = __pyx_k__33;
__Pyx_memviewslice __pyx_v_initial_contents_view = { 0, 0, { 0 }, { 0 }, { 0 } };
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_all_pass", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_initial_contents = __pyx_optional_args->initial_contents;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_initial_element = __pyx_optional_args->initial_element;
if (__pyx_optional_args->__pyx_n > 2) {
__pyx_v_max_size = __pyx_optional_args->max_size;
if (__pyx_optional_args->__pyx_n > 3) {
__pyx_v_interp_type = __pyx_optional_args->interp_type;
}
}
}
}
}
__Pyx_INCREF(__pyx_v_initial_contents);
__Pyx_INCREF(__pyx_v_max_size);
__Pyx_INCREF(__pyx_v_interp_type);
/* … */
/* function exit code */
__pyx_L1_error:;
__PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_AddTraceback("pysndlib.clm.make_all_pass", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_initial_contents_view, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XDECREF(__pyx_v_initial_contents);
__Pyx_XDECREF(__pyx_v_max_size);
__Pyx_XDECREF(__pyx_v_interp_type);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_467make_all_pass(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_466make_all_pass, "\n return a new allpass filter (a delay line with a scalers on both the feedback and the feedforward). if length will be changing at run-time, max-size sets its maximum length.\n \n :param feedback: scaler on feedback\n\n :param feedforward: scaler on input\n\n :param size: length \\in samples of the delay line\n\n :param initial_contents: delay line's initial values, defaults to None\n\n :param initial_element: delay line's initial element, defaults to 0.0\n\n :param max_size: maximum delay size in case the delay changes, defaults to None\n\n :param interp_type: interpolation type, defaults to nterp.None\n \n :return: a new allpass filter\n \n :rtype: mus_any\n \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_467make_all_pass = {"make_all_pass", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_467make_all_pass, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_466make_all_pass};
static PyObject *__pyx_pw_8pysndlib_3clm_467make_all_pass(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_feedback;
double __pyx_v_feedforward;
PyObject *__pyx_v_size = 0;
PyObject *__pyx_v_initial_contents = 0;
PyObject *__pyx_v_initial_element = 0;
PyObject *__pyx_v_max_size = 0;
PyObject *__pyx_v_interp_type = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_all_pass (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_feedback,&__pyx_n_s_feedforward,&__pyx_n_s_size,&__pyx_n_s_initial_contents,&__pyx_n_s_initial_element,&__pyx_n_s_max_size,&__pyx_n_s_interp_type,0};
PyObject* values[7] = {0,0,0,0,0,0,0};
values[3] = ((PyObject *)Py_None);
values[4] = ((PyObject *)__pyx_float_0_0);
values[5] = ((PyObject *)Py_None);
values[6] = __pyx_k__33;
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 7: values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_feedback)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3270, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_feedforward)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3270, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_all_pass", 0, 3, 7, 1); __PYX_ERR(0, 3270, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3270, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_all_pass", 0, 3, 7, 2); __PYX_ERR(0, 3270, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_initial_contents);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3270, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_initial_element);
if (value) { values[4] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3270, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_max_size);
if (value) { values[5] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3270, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_interp_type);
if (value) { values[6] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3270, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_all_pass") < 0)) __PYX_ERR(0, 3270, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 7: values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_feedback = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_feedback == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3270, __pyx_L3_error)
__pyx_v_feedforward = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_feedforward == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3270, __pyx_L3_error)
__pyx_v_size = ((PyObject*)values[2]);
__pyx_v_initial_contents = values[3];
__pyx_v_initial_element = values[4];
__pyx_v_max_size = values[5];
__pyx_v_interp_type = values[6];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_all_pass", 0, 3, 7, __pyx_nargs); __PYX_ERR(0, 3270, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_all_pass", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_size), (&PyInt_Type), 0, "size", 1))) __PYX_ERR(0, 3270, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_466make_all_pass(__pyx_self, __pyx_v_feedback, __pyx_v_feedforward, __pyx_v_size, __pyx_v_initial_contents, __pyx_v_initial_element, __pyx_v_max_size, __pyx_v_interp_type);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_466make_all_pass(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_feedback, double __pyx_v_feedforward, PyObject *__pyx_v_size, PyObject *__pyx_v_initial_contents, PyObject *__pyx_v_initial_element, PyObject *__pyx_v_max_size, PyObject *__pyx_v_interp_type) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_all_pass", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 4;
__pyx_t_2.initial_contents = __pyx_v_initial_contents;
__pyx_t_2.initial_element = __pyx_v_initial_element;
__pyx_t_2.max_size = __pyx_v_max_size;
__pyx_t_2.interp_type = __pyx_v_interp_type;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_all_pass(__pyx_v_feedback, __pyx_v_feedforward, __pyx_v_size, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3270, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_all_pass", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_NONE); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3270, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_k__33 = __pyx_t_40;
__Pyx_GIVEREF(__pyx_t_40);
__pyx_t_40 = 0;
/* … */
__pyx_tuple__457 = PyTuple_Pack(7, __pyx_n_s_feedback, __pyx_n_s_feedforward, __pyx_n_s_size, __pyx_n_s_initial_contents, __pyx_n_s_initial_element, __pyx_n_s_max_size, __pyx_n_s_interp_type); if (unlikely(!__pyx_tuple__457)) __PYX_ERR(0, 3270, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__457);
__Pyx_GIVEREF(__pyx_tuple__457);
__pyx_t_40 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_NONE); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3270, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_37 = PyTuple_New(4); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3270, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_37, 0, Py_None);
__Pyx_INCREF(__pyx_float_0_0);
__Pyx_GIVEREF(__pyx_float_0_0);
PyTuple_SET_ITEM(__pyx_t_37, 1, __pyx_float_0_0);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_37, 2, Py_None);
__Pyx_GIVEREF(__pyx_t_40);
PyTuple_SET_ITEM(__pyx_t_37, 3, __pyx_t_40);
__pyx_t_40 = 0;
__pyx_t_40 = __Pyx_PyDict_NewPresized(7); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3270, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_feedback, __pyx_n_s_float) < 0) __PYX_ERR(0, 3270, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_feedforward, __pyx_n_s_float) < 0) __PYX_ERR(0, 3270, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_size, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 3270, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_initial_contents, __pyx_kp_s_Optional_np_ndarray) < 0) __PYX_ERR(0, 3270, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_initial_element, __pyx_kp_s_Optional_float) < 0) __PYX_ERR(0, 3270, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_max_size, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 3270, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_interp_type, __pyx_kp_s_Optional_Interp) < 0) __PYX_ERR(0, 3270, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_467make_all_pass, 0, __pyx_n_s_make_all_pass, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__458)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3270, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_all_pass, __pyx_t_41) < 0) __PYX_ERR(0, 3270, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__458 = (PyObject*)__Pyx_PyCode_New(7, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__457, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_all_pass, 3270, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__458)) __PYX_ERR(0, 3270, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_all_pass {
int __pyx_n;
PyObject *initial_contents;
PyObject *initial_element;
PyObject *max_size;
PyObject *interp_type;
};
3271:
3272: """
3273: return a new allpass filter (a delay line with a scalers on both the feedback and the feedforward). if length will be changing at run-time, max-size sets its maximum length.
3274:
3275: :param feedback: scaler on feedback
3276:
3277: :param feedforward: scaler on input
3278:
3279: :param size: length \in samples of the delay line
3280:
3281: :param initial_contents: delay line's initial values, defaults to None
3282:
3283: :param initial_element: delay line's initial element, defaults to 0.0
3284:
3285: :param max_size: maximum delay size in case the delay changes, defaults to None
3286:
3287: :param interp_type: interpolation type, defaults to nterp.None
3288:
3289: :return: a new allpass filter
3290:
3291: :rtype: mus_any
3292:
3293: """
3294:
+3295: cdef double [:] initial_contents_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 3295, __pyx_L1_error) __pyx_v_initial_contents_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
3296:
+3297: if not max_size:
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_max_size); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3297, __pyx_L1_error) __pyx_t_3 = (!__pyx_t_2); if (__pyx_t_3) { /* … */ }
+3298: max_size = size
__Pyx_INCREF(__pyx_v_size); __Pyx_DECREF_SET(__pyx_v_max_size, __pyx_v_size);
3299:
+3300: if max_size != size and interp_type == Interp.NONE:
__pyx_t_4 = PyObject_RichCompare(__pyx_v_max_size, __pyx_v_size, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3300, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3300, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_2) { } else { __pyx_t_3 = __pyx_t_2; goto __pyx_L5_bool_binop_done; } __pyx_t_4 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_NONE); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyObject_RichCompare(__pyx_v_interp_type, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3300, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3300, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_3 = __pyx_t_2; __pyx_L5_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+3301: interp_type = Interp.HERMITE #think this is correct from clm2xen.c
__pyx_t_5 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_HERMITE); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF_SET(__pyx_v_interp_type, __pyx_t_5); __pyx_t_5 = 0;
3302:
3303:
+3304: if initial_contents is not None:
__pyx_t_3 = (__pyx_v_initial_contents != Py_None);
if (__pyx_t_3) {
/* … */
goto __pyx_L7;
}
+3305: if isinstance(initial_contents, list):
__pyx_t_3 = PyList_Check(__pyx_v_initial_contents);
if (__pyx_t_3) {
/* … */
}
+3306: initial_contents = np.array(initial_contents)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_initial_contents}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF_SET(__pyx_v_initial_contents, __pyx_t_5); __pyx_t_5 = 0;
+3307: check_ndim(initial_contents)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_initial_contents}; __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+3308: initial_contents_view = initial_contents
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_initial_contents, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 3308, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_initial_contents_view, 1); __pyx_v_initial_contents_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
3309:
+3310: elif initial_element:
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_initial_element); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3310, __pyx_L1_error) if (__pyx_t_3) { /* … */ } __pyx_L7:;
+3311: initial_contents = np.zeros(max_size, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_zeros); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_max_size); __Pyx_GIVEREF(__pyx_v_max_size); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_max_size); __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_double); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_9) < 0) __PYX_ERR(0, 3311, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_initial_contents, __pyx_t_9); __pyx_t_9 = 0;
+3312: check_ndim(initial_contents)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3312, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_initial_contents}; __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3312, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+3313: initial_contents.fill(initial_element)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_initial_contents, __pyx_n_s_fill); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_initial_element}; __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+3314: initial_contents_view = initial_contents
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_initial_contents, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 3314, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_initial_contents_view, 1); __pyx_v_initial_contents_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
3315:
+3316: if initial_contents_view is not None:
__pyx_t_3 = (((PyObject *) __pyx_v_initial_contents_view.memview) != Py_None);
if (__pyx_t_3) {
/* … */
goto __pyx_L9;
}
+3317: gen = mus_any.from_ptr(cclm.mus_make_all_pass(feedback,feedforward, size, &initial_contents_view[0], max_size, interp_type))
__pyx_t_7 = __Pyx_PyInt_As_int(__pyx_v_size); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3317, __pyx_L1_error) __pyx_t_10 = 0; __pyx_t_11 = -1; if (__pyx_t_10 < 0) { __pyx_t_10 += __pyx_v_initial_contents_view.shape[0]; if (unlikely(__pyx_t_10 < 0)) __pyx_t_11 = 0; } else if (unlikely(__pyx_t_10 >= __pyx_v_initial_contents_view.shape[0])) __pyx_t_11 = 0; if (unlikely(__pyx_t_11 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_11); __PYX_ERR(0, 3317, __pyx_L1_error) } __pyx_t_11 = __Pyx_PyInt_As_int(__pyx_v_max_size); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3317, __pyx_L1_error) __pyx_t_12 = ((mus_interp_t)__Pyx_PyInt_As_mus_interp_t(__pyx_v_interp_type)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3317, __pyx_L1_error) __pyx_t_9 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_all_pass(__pyx_v_feedback, __pyx_v_feedforward, __pyx_t_7, (&(*((double *) ( /* dim=0 */ (__pyx_v_initial_contents_view.data + __pyx_t_10 * __pyx_v_initial_contents_view.strides[0]) )))), __pyx_t_11, __pyx_t_12), NULL)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3317, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_9); __pyx_t_9 = 0;
3318: else:
+3319: gen = mus_any.from_ptr(cclm.mus_make_all_pass(feedback,feedforward, size,NULL, max_size, interp_type))
/*else*/ {
__pyx_t_11 = __Pyx_PyInt_As_int(__pyx_v_size); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3319, __pyx_L1_error)
__pyx_t_7 = __Pyx_PyInt_As_int(__pyx_v_max_size); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3319, __pyx_L1_error)
__pyx_t_12 = ((mus_interp_t)__Pyx_PyInt_As_mus_interp_t(__pyx_v_interp_type)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3319, __pyx_L1_error)
__pyx_t_9 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_all_pass(__pyx_v_feedback, __pyx_v_feedforward, __pyx_t_11, NULL, __pyx_t_7, __pyx_t_12), NULL)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3319, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_9);
__pyx_t_9 = 0;
}
__pyx_L9:;
+3320: gen.cache_append(initial_contents)
__pyx_t_9 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_append(__pyx_v_gen, __pyx_v_initial_contents, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+3321: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
3322:
+3323: cpdef cython.double all_pass(gen: mus_any, insig: float, pm: Optional[float]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_469all_pass(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_all_pass(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_all_pass *__pyx_optional_args) {
PyObject *__pyx_v_pm = ((PyObject *)Py_None);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("all_pass", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_pm = __pyx_optional_args->pm;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.all_pass", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_469all_pass(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_468all_pass, "\n all-pass filter insig value, pm changes the delay length.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_469all_pass = {"all_pass", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_469all_pass, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_468all_pass};
static PyObject *__pyx_pw_8pysndlib_3clm_469all_pass(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_insig;
PyObject *__pyx_v_pm = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("all_pass (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_insig,&__pyx_n_s_pm,0};
PyObject* values[3] = {0,0,0};
values[2] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3323, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_insig)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3323, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("all_pass", 0, 2, 3, 1); __PYX_ERR(0, 3323, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pm);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3323, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "all_pass") < 0)) __PYX_ERR(0, 3323, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_insig = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_insig == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3323, __pyx_L3_error)
__pyx_v_pm = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("all_pass", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 3323, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.all_pass", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3323, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_468all_pass(__pyx_self, __pyx_v_gen, __pyx_v_insig, __pyx_v_pm);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_468all_pass(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, PyObject *__pyx_v_pm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("all_pass", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.pm = __pyx_v_pm;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_all_pass(__pyx_v_gen, __pyx_v_insig, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3323, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3323, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.all_pass", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3323, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3323, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_insig, __pyx_n_s_float) < 0) __PYX_ERR(0, 3323, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_pm, __pyx_kp_s_Optional_float) < 0) __PYX_ERR(0, 3323, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_469all_pass, 0, __pyx_n_s_all_pass, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__459)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3323, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_all_pass, __pyx_t_40) < 0) __PYX_ERR(0, 3323, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__459 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__431, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_all_pass, 3323, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__459)) __PYX_ERR(0, 3323, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_all_pass {
int __pyx_n;
PyObject *pm;
};
3324: """
3325: all-pass filter insig value, pm changes the delay length.
3326: """
+3327: if pm:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_pm); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3327, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+3328: return cclm.mus_all_pass(gen._ptr, insig, pm)
__pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_pm); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3328, __pyx_L1_error) __pyx_r = mus_all_pass(__pyx_v_gen->_ptr, __pyx_v_insig, __pyx_t_2); goto __pyx_L0;
3329: else:
+3330: return cclm.mus_all_pass_unmodulated(gen._ptr, insig)
/*else*/ {
__pyx_r = mus_all_pass_unmodulated(__pyx_v_gen->_ptr, __pyx_v_insig);
goto __pyx_L0;
}
3331:
+3332: cpdef is_all_pass(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_471is_all_pass(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_is_all_pass(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_all_pass", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.is_all_pass", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_471is_all_pass(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_470is_all_pass, "\n returns true if gen is a all_pass\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_471is_all_pass = {"is_all_pass", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_471is_all_pass, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_470is_all_pass};
static PyObject *__pyx_pw_8pysndlib_3clm_471is_all_pass(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_all_pass (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3332, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_all_pass") < 0)) __PYX_ERR(0, 3332, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_all_pass", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3332, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_all_pass", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3332, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_470is_all_pass(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_470is_all_pass(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_all_pass", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_all_pass(__pyx_v_gen, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3332, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.is_all_pass", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3332, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3332, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_471is_all_pass, 0, __pyx_n_s_is_all_pass, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__460)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3332, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_all_pass, __pyx_t_41) < 0) __PYX_ERR(0, 3332, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__460 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_all_pass, 3332, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__460)) __PYX_ERR(0, 3332, __pyx_L1_error)
3333: """
3334: returns true if gen is a all_pass
3335: :param gen: gen
3336: :return: result
3337: :rtype: bool
3338: """
+3339: return cclm.mus_is_all_pass(gen._ptr)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyBool_FromLong(mus_is_all_pass(__pyx_v_gen->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
3340:
3341:
3342: # ---------------- all-pass-bank ---------------- #
+3343: cpdef mus_any make_all_pass_bank(all_passes: list):
static PyObject *__pyx_pw_8pysndlib_3clm_473make_all_pass_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_all_pass_bank(PyObject *__pyx_v_all_passes, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyObject *__pyx_v_p = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any_array *__pyx_v_all_passes_array = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_all_pass_bank", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.make_all_pass_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_p);
__Pyx_XDECREF((PyObject *)__pyx_v_all_passes_array);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_473make_all_pass_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_472make_all_pass_bank, "\n return a new all_pass-bank generator.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_473make_all_pass_bank = {"make_all_pass_bank", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_473make_all_pass_bank, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_472make_all_pass_bank};
static PyObject *__pyx_pw_8pysndlib_3clm_473make_all_pass_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_all_passes = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_all_pass_bank (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_all_passes,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_all_passes)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3343, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_all_pass_bank") < 0)) __PYX_ERR(0, 3343, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_all_passes = ((PyObject*)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_all_pass_bank", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3343, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_all_pass_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_all_passes), (&PyList_Type), 0, "all_passes", 1))) __PYX_ERR(0, 3343, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_472make_all_pass_bank(__pyx_self, __pyx_v_all_passes);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_472make_all_pass_bank(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_all_passes) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_all_pass_bank", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_all_pass_bank(__pyx_v_all_passes, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3343, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_all_pass_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__461 = PyTuple_Pack(1, __pyx_n_s_all_passes); if (unlikely(!__pyx_tuple__461)) __PYX_ERR(0, 3343, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__461);
__Pyx_GIVEREF(__pyx_tuple__461);
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3343, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_all_passes, __pyx_n_s_list) < 0) __PYX_ERR(0, 3343, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_473make_all_pass_bank, 0, __pyx_n_s_make_all_pass_bank, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__462)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3343, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_all_pass_bank, __pyx_t_40) < 0) __PYX_ERR(0, 3343, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__462 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__461, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_all_pass_bank, 3343, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__462)) __PYX_ERR(0, 3343, __pyx_L1_error)
3344: """
3345: return a new all_pass-bank generator.
3346: """
+3347: p = list(map(is_all_pass, all_passes))
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_all_pass); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3347, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3347, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_INCREF(__pyx_v_all_passes); __Pyx_GIVEREF(__pyx_v_all_passes); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_all_passes); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_map, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3347, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3347, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_p = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0;
+3348: if not all(p):
__pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_v_p); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3348, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 3348, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = (!__pyx_t_3); if (unlikely(__pyx_t_4)) { /* … */ }
+3349: raise TypeError(f'allpass list contains at least one element that is not a all_pass.')
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__34, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(0, 3349, __pyx_L1_error) /* … */ __pyx_tuple__34 = PyTuple_Pack(1, __pyx_kp_u_allpass_list_contains_at_least_o); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(0, 3349, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__34); __Pyx_GIVEREF(__pyx_tuple__34);
3350:
+3351: all_passes_array = mus_any_array.from_pylist(all_passes)
__pyx_t_2 = ((PyObject *)__pyx_f_8pysndlib_3clm_13mus_any_array_from_pylist(__pyx_v_all_passes)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3351, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_all_passes_array = ((struct __pyx_obj_8pysndlib_3clm_mus_any_array *)__pyx_t_2); __pyx_t_2 = 0;
+3352: gen = mus_any.from_ptr(cclm.mus_make_all_pass_bank(len(all_passes), all_passes_array.data))
__pyx_t_5 = PyList_GET_SIZE(__pyx_v_all_passes); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 3352, __pyx_L1_error) __pyx_t_2 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_all_pass_bank(__pyx_t_5, __pyx_v_all_passes_array->data), NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3352, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_2); __pyx_t_2 = 0;
+3353: gen.cache_extend([all_passes_array, all_passes])
__pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3353, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF((PyObject *)__pyx_v_all_passes_array); __Pyx_GIVEREF((PyObject *)__pyx_v_all_passes_array); PyList_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_all_passes_array)); __Pyx_INCREF(__pyx_v_all_passes); __Pyx_GIVEREF(__pyx_v_all_passes); PyList_SET_ITEM(__pyx_t_2, 1, __pyx_v_all_passes); __pyx_t_1 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_extend(__pyx_v_gen, __pyx_t_2, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3353, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3354: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
3355:
+3356: cpdef cython.double all_pass_bank(gen: mus_any, insig: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_475all_pass_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_all_pass_bank(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("all_pass_bank", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_475all_pass_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_474all_pass_bank, "\n sum an array of all_pass filters.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_475all_pass_bank = {"all_pass_bank", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_475all_pass_bank, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_474all_pass_bank};
static PyObject *__pyx_pw_8pysndlib_3clm_475all_pass_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_insig;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("all_pass_bank (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_insig,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3356, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_insig)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3356, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("all_pass_bank", 1, 2, 2, 1); __PYX_ERR(0, 3356, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "all_pass_bank") < 0)) __PYX_ERR(0, 3356, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_insig = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_insig == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3356, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("all_pass_bank", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3356, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.all_pass_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3356, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_474all_pass_bank(__pyx_self, __pyx_v_gen, __pyx_v_insig);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_474all_pass_bank(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("all_pass_bank", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_all_pass_bank(__pyx_v_gen, __pyx_v_insig, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3356, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3356, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.all_pass_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3356, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3356, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_insig, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 3356, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_475all_pass_bank, 0, __pyx_n_s_all_pass_bank, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__463)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3356, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_all_pass_bank, __pyx_t_41) < 0) __PYX_ERR(0, 3356, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__463 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__384, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_all_pass_bank, 3356, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__463)) __PYX_ERR(0, 3356, __pyx_L1_error)
3357: """
3358: sum an array of all_pass filters.
3359: """
+3360: return cclm.mus_all_pass_bank(gen._ptr, insig)
__pyx_r = mus_all_pass_bank(__pyx_v_gen->_ptr, __pyx_v_insig); goto __pyx_L0;
3361:
+3362: cpdef bint is_all_pass_bank(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_477is_all_pass_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_all_pass_bank(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_all_pass_bank", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_477is_all_pass_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_476is_all_pass_bank, "\n returns true if gen is a all_pass_bank\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_477is_all_pass_bank = {"is_all_pass_bank", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_477is_all_pass_bank, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_476is_all_pass_bank};
static PyObject *__pyx_pw_8pysndlib_3clm_477is_all_pass_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_all_pass_bank (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3362, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_all_pass_bank") < 0)) __PYX_ERR(0, 3362, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_all_pass_bank", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3362, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_all_pass_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3362, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_476is_all_pass_bank(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_476is_all_pass_bank(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_all_pass_bank", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_all_pass_bank(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3362, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3362, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_all_pass_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3362, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3362, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_477is_all_pass_bank, 0, __pyx_n_s_is_all_pass_bank, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__464)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3362, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_all_pass_bank, __pyx_t_40) < 0) __PYX_ERR(0, 3362, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__464 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_all_pass_bank, 3362, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__464)) __PYX_ERR(0, 3362, __pyx_L1_error)
3363: """
3364: returns true if gen is a all_pass_bank
3365: :param gen: gen
3366: :return: result
3367: :rtype: bool
3368: """
+3369: return cclm.mus_is_all_pass_bank(gen._ptr)
__pyx_r = mus_is_all_pass_bank(__pyx_v_gen->_ptr); goto __pyx_L0;
3370:
3371: # ---------------- moving-average ---------------- #
+3372: cpdef mus_any make_moving_average(size: int, initial_contents=None, initial_element: Optional[cython.double]=0.0):
static PyObject *__pyx_pw_8pysndlib_3clm_479make_moving_average(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_moving_average(PyObject *__pyx_v_size, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_moving_average *__pyx_optional_args) {
PyObject *__pyx_v_initial_contents = ((PyObject *)Py_None);
PyObject *__pyx_v_initial_element = ((PyObject *)__pyx_float_0_0);
__Pyx_memviewslice __pyx_v_initial_contents_view = { 0, 0, { 0 }, { 0 }, { 0 } };
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_moving_average", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_initial_contents = __pyx_optional_args->initial_contents;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_initial_element = __pyx_optional_args->initial_element;
}
}
}
__Pyx_INCREF(__pyx_v_initial_contents);
/* … */
/* function exit code */
__pyx_L1_error:;
__PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_AddTraceback("pysndlib.clm.make_moving_average", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_initial_contents_view, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XDECREF(__pyx_v_initial_contents);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_479make_moving_average(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_478make_moving_average, "\n return a new moving_average generator. \n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_479make_moving_average = {"make_moving_average", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_479make_moving_average, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_478make_moving_average};
static PyObject *__pyx_pw_8pysndlib_3clm_479make_moving_average(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_size = 0;
PyObject *__pyx_v_initial_contents = 0;
PyObject *__pyx_v_initial_element = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_moving_average (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size,&__pyx_n_s_initial_contents,&__pyx_n_s_initial_element,0};
PyObject* values[3] = {0,0,0};
values[1] = ((PyObject *)Py_None);
values[2] = ((PyObject *)__pyx_float_0_0);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3372, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_initial_contents);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3372, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_initial_element);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3372, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_moving_average") < 0)) __PYX_ERR(0, 3372, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_size = ((PyObject*)values[0]);
__pyx_v_initial_contents = values[1];
__pyx_v_initial_element = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_moving_average", 0, 1, 3, __pyx_nargs); __PYX_ERR(0, 3372, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_moving_average", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_size), (&PyInt_Type), 0, "size", 1))) __PYX_ERR(0, 3372, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_478make_moving_average(__pyx_self, __pyx_v_size, __pyx_v_initial_contents, __pyx_v_initial_element);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_478make_moving_average(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_size, PyObject *__pyx_v_initial_contents, PyObject *__pyx_v_initial_element) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_moving_average", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 2;
__pyx_t_2.initial_contents = __pyx_v_initial_contents;
__pyx_t_2.initial_element = __pyx_v_initial_element;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_moving_average(__pyx_v_size, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3372, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_moving_average", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__465 = PyTuple_Pack(3, __pyx_n_s_size, __pyx_n_s_initial_contents, __pyx_n_s_initial_element); if (unlikely(!__pyx_tuple__465)) __PYX_ERR(0, 3372, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__465);
__Pyx_GIVEREF(__pyx_tuple__465);
__pyx_codeobj__466 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__465, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_moving_average, 3372, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__466)) __PYX_ERR(0, 3372, __pyx_L1_error)
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3372, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_size, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 3372, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_initial_element, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3372, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_479make_moving_average, 0, __pyx_n_s_make_moving_average, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__466)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3372, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_tuple__467);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_moving_average, __pyx_t_41) < 0) __PYX_ERR(0, 3372, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_tuple__467 = PyTuple_Pack(2, Py_None, __pyx_float_0_0); if (unlikely(!__pyx_tuple__467)) __PYX_ERR(0, 3372, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__467);
__Pyx_GIVEREF(__pyx_tuple__467);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_moving_average {
int __pyx_n;
PyObject *initial_contents;
PyObject *initial_element;
};
3373: """
3374: return a new moving_average generator.
3375: """
3376:
3377:
+3378: cdef double [:] initial_contents_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 3378, __pyx_L1_error) __pyx_v_initial_contents_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
3379:
+3380: if initial_contents is not None:
__pyx_t_2 = (__pyx_v_initial_contents != Py_None);
if (__pyx_t_2) {
/* … */
goto __pyx_L3;
}
+3381: if isinstance(initial_contents, list):
__pyx_t_2 = PyList_Check(__pyx_v_initial_contents);
if (__pyx_t_2) {
/* … */
}
+3382: initial_contents = np.array(initial_contents)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3382, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3382, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_initial_contents}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3382, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF_SET(__pyx_v_initial_contents, __pyx_t_3); __pyx_t_3 = 0;
+3383: check_ndim(initial_contents)
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_initial_contents}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+3384: initial_contents_view = initial_contents
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_initial_contents, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 3384, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_initial_contents_view, 1); __pyx_v_initial_contents_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
3385: else:
+3386: initial_contents = np.zeros(size, dtype=np.double)
/*else*/ {
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3386, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3386, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3386, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_size);
__Pyx_GIVEREF(__pyx_v_size);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_size);
__pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3386, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3386, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_double); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3386, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_8) < 0) __PYX_ERR(0, 3386, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3386, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF_SET(__pyx_v_initial_contents, __pyx_t_8);
__pyx_t_8 = 0;
+3387: check_ndim(initial_contents)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3387, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_initial_contents}; __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3387, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+3388: initial_contents.fill(initial_element)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_initial_contents, __pyx_n_s_fill); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3388, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_initial_element}; __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3388, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+3389: initial_contents_view = initial_contents
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_initial_contents, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 3389, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_initial_contents_view, 1); __pyx_v_initial_contents_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL; } __pyx_L3:;
3390:
+3391: if initial_contents_view is not None:
__pyx_t_2 = (((PyObject *) __pyx_v_initial_contents_view.memview) != Py_None);
if (__pyx_t_2) {
/* … */
}
+3392: gen = mus_any.from_ptr(cclm.mus_make_moving_average(size, &initial_contents_view[0]))
__pyx_t_6 = __Pyx_PyInt_As_int(__pyx_v_size); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3392, __pyx_L1_error) __pyx_t_9 = 0; __pyx_t_10 = -1; if (__pyx_t_9 < 0) { __pyx_t_9 += __pyx_v_initial_contents_view.shape[0]; if (unlikely(__pyx_t_9 < 0)) __pyx_t_10 = 0; } else if (unlikely(__pyx_t_9 >= __pyx_v_initial_contents_view.shape[0])) __pyx_t_10 = 0; if (unlikely(__pyx_t_10 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_10); __PYX_ERR(0, 3392, __pyx_L1_error) } __pyx_t_8 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_moving_average(__pyx_t_6, (&(*((double *) ( /* dim=0 */ (__pyx_v_initial_contents_view.data + __pyx_t_9 * __pyx_v_initial_contents_view.strides[0]) ))))), NULL)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3392, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_8); __pyx_t_8 = 0;
3393:
+3394: gen.cache_append(initial_contents)
if (unlikely(!__pyx_v_gen)) { __Pyx_RaiseUnboundLocalError("gen"); __PYX_ERR(0, 3394, __pyx_L1_error) }
__pyx_t_8 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_append(__pyx_v_gen, __pyx_v_initial_contents, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3394, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+3395: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); if (unlikely(!__pyx_v_gen)) { __Pyx_RaiseUnboundLocalError("gen"); __PYX_ERR(0, 3395, __pyx_L1_error) } __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
3396:
3397:
+3398: cpdef cython.double moving_average(gen: mus_any, input: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_481moving_average(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_moving_average(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_input, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("moving_average", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_481moving_average(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_480moving_average, "\n moving window average.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_481moving_average = {"moving_average", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_481moving_average, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_480moving_average};
static PyObject *__pyx_pw_8pysndlib_3clm_481moving_average(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_input;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("moving_average (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_input,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3398, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_input)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3398, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("moving_average", 1, 2, 2, 1); __PYX_ERR(0, 3398, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "moving_average") < 0)) __PYX_ERR(0, 3398, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_input = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_input == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3398, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("moving_average", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3398, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.moving_average", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3398, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_480moving_average(__pyx_self, __pyx_v_gen, __pyx_v_input);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_480moving_average(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_input) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("moving_average", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_moving_average(__pyx_v_gen, __pyx_v_input, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3398, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3398, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.moving_average", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3398, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3398, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_input, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 3398, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_481moving_average, 0, __pyx_n_s_moving_average, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__468)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3398, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_moving_average, __pyx_t_40) < 0) __PYX_ERR(0, 3398, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__468 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__395, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_moving_average, 3398, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__468)) __PYX_ERR(0, 3398, __pyx_L1_error)
3399: """
3400: moving window average.
3401: """
+3402: return cclm.mus_moving_average(gen._ptr, input)
__pyx_r = mus_moving_average(__pyx_v_gen->_ptr, __pyx_v_input); goto __pyx_L0;
3403:
+3404: cpdef bint is_moving_average(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_483is_moving_average(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_moving_average(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_moving_average", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_483is_moving_average(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_482is_moving_average, "\n returns true if gen is a moving_average\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_483is_moving_average = {"is_moving_average", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_483is_moving_average, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_482is_moving_average};
static PyObject *__pyx_pw_8pysndlib_3clm_483is_moving_average(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_moving_average (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3404, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_moving_average") < 0)) __PYX_ERR(0, 3404, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_moving_average", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3404, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_moving_average", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3404, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_482is_moving_average(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_482is_moving_average(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_moving_average", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_moving_average(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3404, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3404, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_moving_average", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3404, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3404, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_483is_moving_average, 0, __pyx_n_s_is_moving_average, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__469)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3404, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_moving_average, __pyx_t_41) < 0) __PYX_ERR(0, 3404, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__469 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_moving_average, 3404, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__469)) __PYX_ERR(0, 3404, __pyx_L1_error)
3405: """
3406: returns true if gen is a moving_average
3407: :param gen: gen
3408: :return: result
3409: :rtype: bool
3410: """
+3411: return cclm.mus_is_moving_average(gen._ptr)
__pyx_r = mus_is_moving_average(__pyx_v_gen->_ptr); goto __pyx_L0;
3412:
3413: # ---------------- moving-max ---------------- #
+3414: cpdef mus_any make_moving_max(size: int,
static PyObject *__pyx_pw_8pysndlib_3clm_485make_moving_max(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_moving_max(PyObject *__pyx_v_size, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_moving_max *__pyx_optional_args) {
/* … */
/* function exit code */
__pyx_L1_error:;
__PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_AddTraceback("pysndlib.clm.make_moving_max", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_initial_contents_view, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XDECREF(__pyx_v_initial_contents);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_485make_moving_max(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_484make_moving_max, "\n return a new moving-max generator.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_485make_moving_max = {"make_moving_max", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_485make_moving_max, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_484make_moving_max};
static PyObject *__pyx_pw_8pysndlib_3clm_485make_moving_max(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_size = 0;
PyObject *__pyx_v_initial_contents = 0;
PyObject *__pyx_v_initial_element = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_moving_max (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size,&__pyx_n_s_initial_contents,&__pyx_n_s_initial_element,0};
PyObject* values[3] = {0,0,0};
/* … */
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_484make_moving_max(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_size, PyObject *__pyx_v_initial_contents, PyObject *__pyx_v_initial_element) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_moving_max", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 2;
__pyx_t_2.initial_contents = __pyx_v_initial_contents;
__pyx_t_2.initial_element = __pyx_v_initial_element;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_moving_max(__pyx_v_size, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3414, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_moving_max", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_codeobj__470 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__465, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_moving_max, 3414, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__470)) __PYX_ERR(0, 3414, __pyx_L1_error)
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3414, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_size, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 3414, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_initial_element, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3414, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_485make_moving_max, 0, __pyx_n_s_make_moving_max, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__470)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3414, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_tuple__471);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_moving_max, __pyx_t_40) < 0) __PYX_ERR(0, 3414, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_tuple__471 = PyTuple_Pack(2, Py_None, __pyx_float_0_0); if (unlikely(!__pyx_tuple__471)) __PYX_ERR(0, 3414, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__471);
__Pyx_GIVEREF(__pyx_tuple__471);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_moving_max {
int __pyx_n;
PyObject *initial_contents;
PyObject *initial_element;
};
+3415: initial_contents=None,
PyObject *__pyx_v_initial_contents = ((PyObject *)Py_None);
PyObject *__pyx_v_initial_element = ((PyObject *)__pyx_float_0_0);
__Pyx_memviewslice __pyx_v_initial_contents_view = { 0, 0, { 0 }, { 0 }, { 0 } };
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_moving_max", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_initial_contents = __pyx_optional_args->initial_contents;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_initial_element = __pyx_optional_args->initial_element;
}
}
}
__Pyx_INCREF(__pyx_v_initial_contents);
/* … */
values[1] = ((PyObject *)Py_None);
values[2] = ((PyObject *)__pyx_float_0_0);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3414, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_initial_contents);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3414, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_initial_element);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3414, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_moving_max") < 0)) __PYX_ERR(0, 3414, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_size = ((PyObject*)values[0]);
__pyx_v_initial_contents = values[1];
__pyx_v_initial_element = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_moving_max", 0, 1, 3, __pyx_nargs); __PYX_ERR(0, 3414, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_moving_max", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_size), (&PyInt_Type), 0, "size", 1))) __PYX_ERR(0, 3414, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_484make_moving_max(__pyx_self, __pyx_v_size, __pyx_v_initial_contents, __pyx_v_initial_element);
3416: initial_element: Optional[cython.double]=0.0):
3417:
3418: """
3419: return a new moving-max generator.
3420: """
3421:
+3422: cdef double [:] initial_contents_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 3422, __pyx_L1_error) __pyx_v_initial_contents_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
3423:
+3424: if initial_contents is not None:
__pyx_t_2 = (__pyx_v_initial_contents != Py_None);
if (__pyx_t_2) {
/* … */
goto __pyx_L3;
}
+3425: if isinstance(initial_contents, list):
__pyx_t_2 = PyList_Check(__pyx_v_initial_contents);
if (__pyx_t_2) {
/* … */
}
+3426: initial_contents = np.array(initial_contents)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_initial_contents}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF_SET(__pyx_v_initial_contents, __pyx_t_3); __pyx_t_3 = 0;
+3427: check_ndim(initial_contents)
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_initial_contents}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+3428: initial_contents_view = initial_contents
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_initial_contents, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 3428, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_initial_contents_view, 1); __pyx_v_initial_contents_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
3429:
+3430: elif initial_element:
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_initial_element); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3430, __pyx_L1_error) if (__pyx_t_2) { /* … */ } __pyx_L3:;
+3431: initial_contents = np.zeros(size, dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_size); __Pyx_GIVEREF(__pyx_v_size); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_size); __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_double); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_8) < 0) __PYX_ERR(0, 3431, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_initial_contents, __pyx_t_8); __pyx_t_8 = 0;
+3432: check_ndim(initial_contents)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3432, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_initial_contents}; __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3432, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+3433: initial_contents.fill(initial_element)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_initial_contents, __pyx_n_s_fill); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3433, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_initial_element}; __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3433, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+3434: initial_contents_view = initial_contents
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_initial_contents, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 3434, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_initial_contents_view, 1); __pyx_v_initial_contents_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
+3435: if initial_contents_view is not None:
__pyx_t_2 = (((PyObject *) __pyx_v_initial_contents_view.memview) != Py_None);
if (__pyx_t_2) {
/* … */
goto __pyx_L5;
}
+3436: gen = mus_any.from_ptr(cclm.mus_make_moving_max(size, &initial_contents_view[0]))
__pyx_t_6 = __Pyx_PyInt_As_int(__pyx_v_size); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3436, __pyx_L1_error) __pyx_t_9 = 0; __pyx_t_10 = -1; if (__pyx_t_9 < 0) { __pyx_t_9 += __pyx_v_initial_contents_view.shape[0]; if (unlikely(__pyx_t_9 < 0)) __pyx_t_10 = 0; } else if (unlikely(__pyx_t_9 >= __pyx_v_initial_contents_view.shape[0])) __pyx_t_10 = 0; if (unlikely(__pyx_t_10 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_10); __PYX_ERR(0, 3436, __pyx_L1_error) } __pyx_t_8 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_moving_max(__pyx_t_6, (&(*((double *) ( /* dim=0 */ (__pyx_v_initial_contents_view.data + __pyx_t_9 * __pyx_v_initial_contents_view.strides[0]) ))))), NULL)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3436, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_8); __pyx_t_8 = 0;
+3437: gen.cache_append(initial_contents)
__pyx_t_8 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_append(__pyx_v_gen, __pyx_v_initial_contents, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
3438: else:
+3439: gen = mus_any.from_ptr(cclm.mus_make_moving_max(size, NULL))
/*else*/ {
__pyx_t_6 = __Pyx_PyInt_As_int(__pyx_v_size); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3439, __pyx_L1_error)
__pyx_t_8 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_moving_max(__pyx_t_6, NULL), NULL)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3439, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_8);
__pyx_t_8 = 0;
}
__pyx_L5:;
+3440: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
3441:
+3442: cpdef cython.double moving_max(gen: mus_any, insig: float):
static PyObject *__pyx_pw_8pysndlib_3clm_487moving_max(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_moving_max(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("moving_max", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_487moving_max(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_486moving_max, "\n moving window max.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_487moving_max = {"moving_max", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_487moving_max, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_486moving_max};
static PyObject *__pyx_pw_8pysndlib_3clm_487moving_max(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_insig;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("moving_max (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_insig,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3442, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_insig)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3442, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("moving_max", 1, 2, 2, 1); __PYX_ERR(0, 3442, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "moving_max") < 0)) __PYX_ERR(0, 3442, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_insig = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_insig == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3442, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("moving_max", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3442, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.moving_max", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3442, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_486moving_max(__pyx_self, __pyx_v_gen, __pyx_v_insig);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_486moving_max(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("moving_max", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_moving_max(__pyx_v_gen, __pyx_v_insig, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3442, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3442, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.moving_max", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3442, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3442, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_insig, __pyx_n_s_float) < 0) __PYX_ERR(0, 3442, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_487moving_max, 0, __pyx_n_s_moving_max, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__472)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3442, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_moving_max, __pyx_t_41) < 0) __PYX_ERR(0, 3442, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__472 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__384, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_moving_max, 3442, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__472)) __PYX_ERR(0, 3442, __pyx_L1_error)
3443: """
3444: moving window max.
3445: """
+3446: return cclm.mus_moving_max(gen._ptr, insig)
__pyx_r = mus_moving_max(__pyx_v_gen->_ptr, __pyx_v_insig); goto __pyx_L0;
3447:
+3448: cpdef bint is_moving_max(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_489is_moving_max(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_moving_max(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_moving_max", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_489is_moving_max(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_488is_moving_max, "\n returns true if gen is a moving_max\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_489is_moving_max = {"is_moving_max", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_489is_moving_max, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_488is_moving_max};
static PyObject *__pyx_pw_8pysndlib_3clm_489is_moving_max(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_moving_max (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3448, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_moving_max") < 0)) __PYX_ERR(0, 3448, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_moving_max", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3448, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_moving_max", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3448, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_488is_moving_max(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_488is_moving_max(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_moving_max", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_moving_max(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3448, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3448, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_moving_max", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3448, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3448, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_489is_moving_max, 0, __pyx_n_s_is_moving_max, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__473)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3448, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_moving_max, __pyx_t_40) < 0) __PYX_ERR(0, 3448, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__473 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_moving_max, 3448, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__473)) __PYX_ERR(0, 3448, __pyx_L1_error)
3449: """
3450: returns true if gen is a moving_max
3451: :param gen: gen
3452: :return: result
3453: :rtype: bool
3454: """
+3455: return cclm.mus_is_moving_max(gen._ptr)
__pyx_r = mus_is_moving_max(__pyx_v_gen->_ptr); goto __pyx_L0;
3456:
3457: # ---------------- moving-norm ---------------- #
+3458: cpdef mus_any make_moving_norm(size: int, initial_contents=None, scaler: Optional[float]=1.):
static PyObject *__pyx_pw_8pysndlib_3clm_491make_moving_norm(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_moving_norm(PyObject *__pyx_v_size, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_moving_norm *__pyx_optional_args) {
PyObject *__pyx_v_initial_contents = ((PyObject *)Py_None);
PyObject *__pyx_v_scaler = ((PyObject *)__pyx_float_1_);
__Pyx_memviewslice __pyx_v_initial_contents_view = { 0, 0, { 0 }, { 0 }, { 0 } };
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = NULL;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_moving_norm", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_initial_contents = __pyx_optional_args->initial_contents;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_scaler = __pyx_optional_args->scaler;
}
}
}
__Pyx_INCREF(__pyx_v_initial_contents);
/* … */
/* function exit code */
__pyx_L1_error:;
__PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("pysndlib.clm.make_moving_norm", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_initial_contents_view, 1);
__Pyx_XDECREF((PyObject *)__pyx_v_gen);
__Pyx_XDECREF(__pyx_v_initial_contents);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_491make_moving_norm(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_490make_moving_norm, "\n return a new moving-norm generator.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_491make_moving_norm = {"make_moving_norm", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_491make_moving_norm, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_490make_moving_norm};
static PyObject *__pyx_pw_8pysndlib_3clm_491make_moving_norm(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_size = 0;
PyObject *__pyx_v_initial_contents = 0;
PyObject *__pyx_v_scaler = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_moving_norm (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size,&__pyx_n_s_initial_contents,&__pyx_n_s_scaler,0};
PyObject* values[3] = {0,0,0};
values[1] = ((PyObject *)Py_None);
values[2] = ((PyObject *)__pyx_float_1_);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3458, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_initial_contents);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3458, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_scaler);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3458, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_moving_norm") < 0)) __PYX_ERR(0, 3458, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_size = ((PyObject*)values[0]);
__pyx_v_initial_contents = values[1];
__pyx_v_scaler = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_moving_norm", 0, 1, 3, __pyx_nargs); __PYX_ERR(0, 3458, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_moving_norm", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_size), (&PyInt_Type), 0, "size", 1))) __PYX_ERR(0, 3458, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_490make_moving_norm(__pyx_self, __pyx_v_size, __pyx_v_initial_contents, __pyx_v_scaler);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_490make_moving_norm(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_size, PyObject *__pyx_v_initial_contents, PyObject *__pyx_v_scaler) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_moving_norm", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 2;
__pyx_t_2.initial_contents = __pyx_v_initial_contents;
__pyx_t_2.scaler = __pyx_v_scaler;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_moving_norm(__pyx_v_size, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_moving_norm", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__474 = PyTuple_Pack(3, __pyx_n_s_size, __pyx_n_s_initial_contents, __pyx_n_s_scaler); if (unlikely(!__pyx_tuple__474)) __PYX_ERR(0, 3458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__474);
__Pyx_GIVEREF(__pyx_tuple__474);
__pyx_codeobj__475 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__474, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_moving_norm, 3458, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__475)) __PYX_ERR(0, 3458, __pyx_L1_error)
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_size, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 3458, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_scaler, __pyx_kp_s_Optional_float) < 0) __PYX_ERR(0, 3458, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_491make_moving_norm, 0, __pyx_n_s_make_moving_norm, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__475)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_tuple__476);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_moving_norm, __pyx_t_41) < 0) __PYX_ERR(0, 3458, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_tuple__476 = PyTuple_Pack(2, Py_None, __pyx_float_1_); if (unlikely(!__pyx_tuple__476)) __PYX_ERR(0, 3458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__476);
__Pyx_GIVEREF(__pyx_tuple__476);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_moving_norm {
int __pyx_n;
PyObject *initial_contents;
PyObject *scaler;
};
3459: """
3460: return a new moving-norm generator.
3461: """
+3462: cdef double [:] initial_contents_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 3462, __pyx_L1_error) __pyx_v_initial_contents_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
3463:
3464:
+3465: if initial_contents is not None:
__pyx_t_2 = (__pyx_v_initial_contents != Py_None);
if (__pyx_t_2) {
/* … */
}
+3466: if isinstance(initial_contents, list):
__pyx_t_2 = PyList_Check(__pyx_v_initial_contents);
if (__pyx_t_2) {
/* … */
}
+3467: initial_contents = np.array(initial_contents)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3467, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3467, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_initial_contents}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3467, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF_SET(__pyx_v_initial_contents, __pyx_t_3); __pyx_t_3 = 0;
+3468: check_ndim(initial_contents)
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3468, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_initial_contents}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3468, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+3469: initial_contents_view = initial_contents
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_initial_contents, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 3469, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_initial_contents_view, 1); __pyx_v_initial_contents_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
3470:
+3471: if initial_contents_view is not None:
__pyx_t_2 = (((PyObject *) __pyx_v_initial_contents_view.memview) != Py_None);
if (__pyx_t_2) {
/* … */
goto __pyx_L5;
}
+3472: gen = mus_any.from_ptr(cclm.mus_make_moving_norm(size, &initial_contents_view[0], scaler))
__pyx_t_6 = __Pyx_PyInt_As_int(__pyx_v_size); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3472, __pyx_L1_error) __pyx_t_7 = 0; __pyx_t_8 = -1; if (__pyx_t_7 < 0) { __pyx_t_7 += __pyx_v_initial_contents_view.shape[0]; if (unlikely(__pyx_t_7 < 0)) __pyx_t_8 = 0; } else if (unlikely(__pyx_t_7 >= __pyx_v_initial_contents_view.shape[0])) __pyx_t_8 = 0; if (unlikely(__pyx_t_8 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_8); __PYX_ERR(0, 3472, __pyx_L1_error) } __pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_v_scaler); if (unlikely((__pyx_t_9 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3472, __pyx_L1_error) __pyx_t_3 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_moving_norm(__pyx_t_6, (&(*((double *) ( /* dim=0 */ (__pyx_v_initial_contents_view.data + __pyx_t_7 * __pyx_v_initial_contents_view.strides[0]) )))), __pyx_t_9), NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_3); __pyx_t_3 = 0;
+3473: gen.cache_append(initial_contents)
__pyx_t_3 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_gen->__pyx_vtab)->cache_append(__pyx_v_gen, __pyx_v_initial_contents, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3474: else:
+3475: gen = mus_any.from_ptr(cclm.mus_make_moving_norm(size, NULL, scaler))
/*else*/ {
__pyx_t_6 = __Pyx_PyInt_As_int(__pyx_v_size); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3475, __pyx_L1_error)
__pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_v_scaler); if (unlikely((__pyx_t_9 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3475, __pyx_L1_error)
__pyx_t_3 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_moving_norm(__pyx_t_6, NULL, __pyx_t_9), NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3475, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_3);
__pyx_t_3 = 0;
}
__pyx_L5:;
3476:
+3477: return gen
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen); __pyx_r = __pyx_v_gen; goto __pyx_L0;
3478:
+3479: cpdef cython.double moving_norm(gen: mus_any, insig: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_493moving_norm(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_moving_norm(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("moving_norm", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_493moving_norm(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_492moving_norm, "\n moving window norm.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_493moving_norm = {"moving_norm", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_493moving_norm, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_492moving_norm};
static PyObject *__pyx_pw_8pysndlib_3clm_493moving_norm(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_insig;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("moving_norm (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_insig,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3479, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_insig)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3479, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("moving_norm", 1, 2, 2, 1); __PYX_ERR(0, 3479, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "moving_norm") < 0)) __PYX_ERR(0, 3479, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_insig = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_insig == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3479, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("moving_norm", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3479, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.moving_norm", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3479, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_492moving_norm(__pyx_self, __pyx_v_gen, __pyx_v_insig);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_492moving_norm(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("moving_norm", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_moving_norm(__pyx_v_gen, __pyx_v_insig, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3479, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3479, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.moving_norm", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3479, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3479, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_insig, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 3479, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_493moving_norm, 0, __pyx_n_s_moving_norm, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__477)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3479, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_moving_norm, __pyx_t_40) < 0) __PYX_ERR(0, 3479, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__477 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__384, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_moving_norm, 3479, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__477)) __PYX_ERR(0, 3479, __pyx_L1_error)
3480: """
3481: moving window norm.
3482: """
+3483: return cclm.mus_moving_norm(gen._ptr, insig)
__pyx_r = mus_moving_norm(__pyx_v_gen->_ptr, __pyx_v_insig); goto __pyx_L0;
3484:
+3485: cpdef is_moving_norm(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_495is_moving_norm(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_is_moving_norm(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_moving_norm", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.is_moving_norm", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_495is_moving_norm(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_494is_moving_norm, "\n returns true if gen is a moving_norm\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_495is_moving_norm = {"is_moving_norm", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_495is_moving_norm, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_494is_moving_norm};
static PyObject *__pyx_pw_8pysndlib_3clm_495is_moving_norm(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_moving_norm (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3485, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_moving_norm") < 0)) __PYX_ERR(0, 3485, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_moving_norm", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3485, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_moving_norm", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3485, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_494is_moving_norm(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_494is_moving_norm(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_moving_norm", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_moving_norm(__pyx_v_gen, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3485, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.is_moving_norm", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3485, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3485, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_495is_moving_norm, 0, __pyx_n_s_is_moving_norm, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__478)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3485, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_moving_norm, __pyx_t_41) < 0) __PYX_ERR(0, 3485, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__478 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_moving_norm, 3485, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__478)) __PYX_ERR(0, 3485, __pyx_L1_error)
3486: """
3487: returns true if gen is a moving_norm
3488: :param gen: gen
3489: :return: result
3490: :rtype: bool
3491: """
+3492: return cclm.mus_is_moving_norm(gen._ptr)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyBool_FromLong(mus_is_moving_norm(__pyx_v_gen->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
3493:
3494:
3495: # ---------------- asymmetric-fm ---------------- #
+3496: cpdef mus_any make_asymmetric_fm(frequency: cython.double, initial_phase: Optional[cython.double]=0.0, r: Optional[cython.double]=1.0, ratio: Optional[cython.double]=1.):
static PyObject *__pyx_pw_8pysndlib_3clm_497make_asymmetric_fm(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_asymmetric_fm(double __pyx_v_frequency, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_asymmetric_fm *__pyx_optional_args) {
PyObject *__pyx_v_initial_phase = ((PyObject *)__pyx_float_0_0);
PyObject *__pyx_v_r = ((PyObject *)__pyx_float_1_0);
PyObject *__pyx_v_ratio = ((PyObject *)__pyx_float_1_);
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_asymmetric_fm", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_initial_phase = __pyx_optional_args->initial_phase;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_r = __pyx_optional_args->r;
if (__pyx_optional_args->__pyx_n > 2) {
__pyx_v_ratio = __pyx_optional_args->ratio;
}
}
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.make_asymmetric_fm", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_497make_asymmetric_fm(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_496make_asymmetric_fm, "\n return a new asymmetric_fm generator.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_497make_asymmetric_fm = {"make_asymmetric_fm", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_497make_asymmetric_fm, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_496make_asymmetric_fm};
static PyObject *__pyx_pw_8pysndlib_3clm_497make_asymmetric_fm(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
double __pyx_v_frequency;
PyObject *__pyx_v_initial_phase = 0;
PyObject *__pyx_v_r = 0;
PyObject *__pyx_v_ratio = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_asymmetric_fm (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frequency,&__pyx_n_s_initial_phase,&__pyx_n_s_r,&__pyx_n_s_ratio,0};
PyObject* values[4] = {0,0,0,0};
values[1] = ((PyObject *)__pyx_float_0_0);
values[2] = ((PyObject *)__pyx_float_1_0);
values[3] = ((PyObject *)__pyx_float_1_);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_frequency)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3496, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_initial_phase);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3496, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_r);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3496, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ratio);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3496, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_asymmetric_fm") < 0)) __PYX_ERR(0, 3496, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_frequency = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_frequency == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3496, __pyx_L3_error)
__pyx_v_initial_phase = values[1];
__pyx_v_r = values[2];
__pyx_v_ratio = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_asymmetric_fm", 0, 1, 4, __pyx_nargs); __PYX_ERR(0, 3496, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_asymmetric_fm", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_496make_asymmetric_fm(__pyx_self, __pyx_v_frequency, __pyx_v_initial_phase, __pyx_v_r, __pyx_v_ratio);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_496make_asymmetric_fm(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_frequency, PyObject *__pyx_v_initial_phase, PyObject *__pyx_v_r, PyObject *__pyx_v_ratio) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_asymmetric_fm", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 3;
__pyx_t_2.initial_phase = __pyx_v_initial_phase;
__pyx_t_2.r = __pyx_v_r;
__pyx_t_2.ratio = __pyx_v_ratio;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_asymmetric_fm(__pyx_v_frequency, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3496, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_asymmetric_fm", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__479 = PyTuple_Pack(4, __pyx_n_s_frequency, __pyx_n_s_initial_phase, __pyx_n_s_r, __pyx_n_s_ratio); if (unlikely(!__pyx_tuple__479)) __PYX_ERR(0, 3496, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__479);
__Pyx_GIVEREF(__pyx_tuple__479);
__pyx_codeobj__480 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__479, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_asymmetric_fm, 3496, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__480)) __PYX_ERR(0, 3496, __pyx_L1_error)
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3496, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_frequency, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 3496, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_initial_phase, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3496, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_r, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3496, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_ratio, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3496, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_497make_asymmetric_fm, 0, __pyx_n_s_make_asymmetric_fm, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__480)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3496, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_tuple__481);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_asymmetric_fm, __pyx_t_40) < 0) __PYX_ERR(0, 3496, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_tuple__481 = PyTuple_Pack(3, __pyx_float_0_0, __pyx_float_1_0, __pyx_float_1_); if (unlikely(!__pyx_tuple__481)) __PYX_ERR(0, 3496, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__481);
__Pyx_GIVEREF(__pyx_tuple__481);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_asymmetric_fm {
int __pyx_n;
PyObject *initial_phase;
PyObject *r;
PyObject *ratio;
};
3497: """
3498: return a new asymmetric_fm generator.
3499: """
+3500: return mus_any.from_ptr(cclm.mus_make_asymmetric_fm(frequency, initial_phase, r, ratio))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_initial_phase); if (unlikely((__pyx_t_1 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3500, __pyx_L1_error) __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_r); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3500, __pyx_L1_error) __pyx_t_3 = __pyx_PyFloat_AsDouble(__pyx_v_ratio); if (unlikely((__pyx_t_3 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3500, __pyx_L1_error) __pyx_t_4 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_asymmetric_fm(__pyx_v_frequency, __pyx_t_1, __pyx_t_2, __pyx_t_3), NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L0;
3501:
+3502: cpdef cython.double asymmetric_fm(gen: mus_any, insig: cython.double, fm: Optional[cython.double]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_499asymmetric_fm(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_asymmetric_fm(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_asymmetric_fm *__pyx_optional_args) {
PyObject *__pyx_v_fm = ((PyObject *)Py_None);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("asymmetric_fm", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_fm = __pyx_optional_args->fm;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.asymmetric_fm", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_499asymmetric_fm(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_498asymmetric_fm, "\n next sample from asymmetric fm generator.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_499asymmetric_fm = {"asymmetric_fm", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_499asymmetric_fm, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_498asymmetric_fm};
static PyObject *__pyx_pw_8pysndlib_3clm_499asymmetric_fm(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_insig;
PyObject *__pyx_v_fm = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("asymmetric_fm (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_insig,&__pyx_n_s_fm,0};
PyObject* values[3] = {0,0,0};
values[2] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3502, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_insig)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3502, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("asymmetric_fm", 0, 2, 3, 1); __PYX_ERR(0, 3502, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fm);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3502, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "asymmetric_fm") < 0)) __PYX_ERR(0, 3502, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_insig = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_insig == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3502, __pyx_L3_error)
__pyx_v_fm = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("asymmetric_fm", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 3502, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.asymmetric_fm", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3502, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_498asymmetric_fm(__pyx_self, __pyx_v_gen, __pyx_v_insig, __pyx_v_fm);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_498asymmetric_fm(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_insig, PyObject *__pyx_v_fm) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("asymmetric_fm", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.fm = __pyx_v_fm;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_asymmetric_fm(__pyx_v_gen, __pyx_v_insig, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3502, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3502, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.asymmetric_fm", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3502, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3502, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_insig, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 3502, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_fm, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3502, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_499asymmetric_fm, 0, __pyx_n_s_asymmetric_fm, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__482)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3502, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_asymmetric_fm, __pyx_t_41) < 0) __PYX_ERR(0, 3502, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__482 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__363, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_asymmetric_fm, 3502, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__482)) __PYX_ERR(0, 3502, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_asymmetric_fm {
int __pyx_n;
PyObject *fm;
};
3503: """
3504: next sample from asymmetric fm generator.
3505: """
+3506: if fm:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_fm); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3506, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+3507: return cclm.mus_asymmetric_fm(gen._ptr, insig, fm)
__pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_fm); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3507, __pyx_L1_error) __pyx_r = mus_asymmetric_fm(__pyx_v_gen->_ptr, __pyx_v_insig, __pyx_t_2); goto __pyx_L0;
3508: else:
+3509: return cclm.mus_asymmetric_fm_unmodulated(gen._ptr, insig)
/*else*/ {
__pyx_r = mus_asymmetric_fm_unmodulated(__pyx_v_gen->_ptr, __pyx_v_insig);
goto __pyx_L0;
}
3510:
+3511: cpdef bint is_asymmetric_fm(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_501is_asymmetric_fm(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_asymmetric_fm(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_asymmetric_fm", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_501is_asymmetric_fm(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_500is_asymmetric_fm, "\n returns true if gen is a asymmetric_fm\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_501is_asymmetric_fm = {"is_asymmetric_fm", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_501is_asymmetric_fm, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_500is_asymmetric_fm};
static PyObject *__pyx_pw_8pysndlib_3clm_501is_asymmetric_fm(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_asymmetric_fm (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3511, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_asymmetric_fm") < 0)) __PYX_ERR(0, 3511, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_asymmetric_fm", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3511, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_asymmetric_fm", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3511, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_500is_asymmetric_fm(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_500is_asymmetric_fm(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_asymmetric_fm", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_asymmetric_fm(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3511, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3511, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_asymmetric_fm", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3511, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3511, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_501is_asymmetric_fm, 0, __pyx_n_s_is_asymmetric_fm, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__483)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3511, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_asymmetric_fm, __pyx_t_40) < 0) __PYX_ERR(0, 3511, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__483 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_asymmetric_fm, 3511, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__483)) __PYX_ERR(0, 3511, __pyx_L1_error)
3512: """
3513: returns true if gen is a asymmetric_fm
3514: :param gen: gen
3515: :return: result
3516: :rtype: bool
3517: """
+3518: return cclm.mus_is_asymmetric_fm(gen._ptr)
__pyx_r = mus_is_asymmetric_fm(__pyx_v_gen->_ptr); goto __pyx_L0;
3519:
3520: # ---------------- file-to-sample ---------------- #
+3521: cpdef mus_any make_file2sample(filename, buffer_size: Optional[int]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_503make_file2sample(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_file2sample(PyObject *__pyx_v_filename, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_file2sample *__pyx_optional_args) {
PyObject *__pyx_v_buffer_size = ((PyObject *)Py_None);
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_file2sample", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_buffer_size = __pyx_optional_args->buffer_size;
}
}
__Pyx_INCREF(__pyx_v_buffer_size);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.make_file2sample", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_buffer_size);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_503make_file2sample(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_502make_file2sample, "\n return an input generator reading 'filename' (a sound file)\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_503make_file2sample = {"make_file2sample", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_503make_file2sample, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_502make_file2sample};
static PyObject *__pyx_pw_8pysndlib_3clm_503make_file2sample(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_filename = 0;
PyObject *__pyx_v_buffer_size = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_file2sample (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filename,&__pyx_n_s_buffer_size,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_filename)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3521, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer_size);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3521, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_file2sample") < 0)) __PYX_ERR(0, 3521, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_filename = values[0];
__pyx_v_buffer_size = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_file2sample", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 3521, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_file2sample", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_502make_file2sample(__pyx_self, __pyx_v_filename, __pyx_v_buffer_size);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_502make_file2sample(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_buffer_size) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_file2sample", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.buffer_size = __pyx_v_buffer_size;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_file2sample(__pyx_v_filename, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3521, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_file2sample", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__484 = PyTuple_Pack(2, __pyx_n_s_filename, __pyx_n_s_buffer_size); if (unlikely(!__pyx_tuple__484)) __PYX_ERR(0, 3521, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__484);
__Pyx_GIVEREF(__pyx_tuple__484);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3521, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_buffer_size, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 3521, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_503make_file2sample, 0, __pyx_n_s_make_file2sample, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__485)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3521, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_file2sample, __pyx_t_41) < 0) __PYX_ERR(0, 3521, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__485 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__484, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_file2sample, 3521, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__485)) __PYX_ERR(0, 3521, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_file2sample {
int __pyx_n;
PyObject *buffer_size;
};
3522: """
3523: return an input generator reading 'filename' (a sound file)
3524: """
+3525: buffer_size = buffer_size or CLM.buffer_size
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_buffer_size); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3525, __pyx_L1_error) if (!__pyx_t_2) { } else { __Pyx_INCREF(__pyx_v_buffer_size); __pyx_t_1 = __pyx_v_buffer_size; goto __pyx_L3_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CLM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_buffer_size); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_INCREF(__pyx_t_4); __pyx_t_1 = __pyx_t_4; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_L3_bool_binop_done:; __Pyx_DECREF_SET(__pyx_v_buffer_size, __pyx_t_1); __pyx_t_1 = 0;
+3526: return mus_any.from_ptr(cclm.mus_make_file_to_sample_with_buffer_size(filename, buffer_size))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_filename); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(0, 3526, __pyx_L1_error) __pyx_t_6 = __Pyx_PyInt_As_mus_long_t(__pyx_v_buffer_size); if (unlikely((__pyx_t_6 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3526, __pyx_L1_error) __pyx_t_1 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_file_to_sample_with_buffer_size(__pyx_t_5, __pyx_t_6), NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0;
3527:
+3528: cpdef cython.double file2sample(gen: mus_any, loc: int, chan: Optional[int]=0):
static PyObject *__pyx_pw_8pysndlib_3clm_505file2sample(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_file2sample(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_loc, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_file2sample *__pyx_optional_args) {
PyObject *__pyx_v_chan = ((PyObject *)__pyx_int_0);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("file2sample", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_chan = __pyx_optional_args->chan;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.file2sample", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_505file2sample(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_504file2sample, "\n sample value in sound file read by 'obj' in channel chan at frample\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_505file2sample = {"file2sample", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_505file2sample, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_504file2sample};
static PyObject *__pyx_pw_8pysndlib_3clm_505file2sample(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_loc = 0;
PyObject *__pyx_v_chan = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("file2sample (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_loc,&__pyx_n_s_chan,0};
PyObject* values[3] = {0,0,0};
values[2] = ((PyObject *)__pyx_int_0);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3528, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_loc)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3528, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("file2sample", 0, 2, 3, 1); __PYX_ERR(0, 3528, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_chan);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3528, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "file2sample") < 0)) __PYX_ERR(0, 3528, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_loc = ((PyObject*)values[1]);
__pyx_v_chan = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("file2sample", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 3528, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.file2sample", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3528, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), (&PyInt_Type), 0, "loc", 1))) __PYX_ERR(0, 3528, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_504file2sample(__pyx_self, __pyx_v_gen, __pyx_v_loc, __pyx_v_chan);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_504file2sample(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_loc, PyObject *__pyx_v_chan) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("file2sample", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.chan = __pyx_v_chan;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_file2sample(__pyx_v_gen, __pyx_v_loc, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3528, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3528, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.file2sample", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__486 = PyTuple_Pack(3, __pyx_n_s_gen, __pyx_n_s_loc, __pyx_n_s_chan); if (unlikely(!__pyx_tuple__486)) __PYX_ERR(0, 3528, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__486);
__Pyx_GIVEREF(__pyx_tuple__486);
__pyx_codeobj__487 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__486, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_file2sample, 3528, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__487)) __PYX_ERR(0, 3528, __pyx_L1_error)
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3528, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3528, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_loc, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 3528, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_chan, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 3528, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_505file2sample, 0, __pyx_n_s_file2sample, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__487)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3528, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_tuple__488);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_file2sample, __pyx_t_40) < 0) __PYX_ERR(0, 3528, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_tuple__488 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__488)) __PYX_ERR(0, 3528, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__488);
__Pyx_GIVEREF(__pyx_tuple__488);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_file2sample {
int __pyx_n;
PyObject *chan;
};
3529: """
3530: sample value in sound file read by 'obj' in channel chan at frample
3531: """
+3532: return cclm.mus_file_to_sample(gen._ptr, loc, chan)
__pyx_t_1 = __Pyx_PyInt_As_mus_long_t(__pyx_v_loc); if (unlikely((__pyx_t_1 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3532, __pyx_L1_error) __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_v_chan); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3532, __pyx_L1_error) __pyx_r = mus_file_to_sample(__pyx_v_gen->_ptr, __pyx_t_1, __pyx_t_2); goto __pyx_L0;
3533:
+3534: cpdef bint is_file2sample(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_507is_file2sample(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_file2sample(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_file2sample", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_507is_file2sample(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_506is_file2sample, "\n returns true if gen is a file2sample\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_507is_file2sample = {"is_file2sample", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_507is_file2sample, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_506is_file2sample};
static PyObject *__pyx_pw_8pysndlib_3clm_507is_file2sample(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_file2sample (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3534, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_file2sample") < 0)) __PYX_ERR(0, 3534, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_file2sample", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3534, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_file2sample", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3534, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_506is_file2sample(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_506is_file2sample(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_file2sample", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_file2sample(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3534, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3534, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_file2sample", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3534, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3534, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_507is_file2sample, 0, __pyx_n_s_is_file2sample, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__489)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3534, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_file2sample, __pyx_t_41) < 0) __PYX_ERR(0, 3534, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__489 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_file2sample, 3534, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__489)) __PYX_ERR(0, 3534, __pyx_L1_error)
3535: """
3536: returns true if gen is a file2sample
3537: :param gen: gen
3538: :return: result
3539: :rtype: bool
3540: """
+3541: return cclm.mus_is_file_to_sample(gen._ptr)
__pyx_r = mus_is_file_to_sample(__pyx_v_gen->_ptr); goto __pyx_L0;
3542:
3543: # ---------------- sample-to-file ---------------- #
+3544: cpdef mus_any make_sample2file(filename, chans: Optional[int]=1, sample_type: Optional[sample]=None, header_type: Optional[header]=None, comment: Optional[str]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_509make_sample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_sample2file(PyObject *__pyx_v_filename, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_sample2file *__pyx_optional_args) {
PyObject *__pyx_v_chans = ((PyObject *)__pyx_int_1);
PyObject *__pyx_v_sample_type = ((PyObject *)Py_None);
PyObject *__pyx_v_header_type = ((PyObject *)Py_None);
PyObject *__pyx_v_comment = ((PyObject *)Py_None);
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_sample2file", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_chans = __pyx_optional_args->chans;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_sample_type = __pyx_optional_args->sample_type;
if (__pyx_optional_args->__pyx_n > 2) {
__pyx_v_header_type = __pyx_optional_args->header_type;
if (__pyx_optional_args->__pyx_n > 3) {
__pyx_v_comment = __pyx_optional_args->comment;
}
}
}
}
}
__Pyx_INCREF(__pyx_v_sample_type);
__Pyx_INCREF(__pyx_v_header_type);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.make_sample2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_sample_type);
__Pyx_XDECREF(__pyx_v_header_type);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_509make_sample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_508make_sample2file, "return an output generator writing the sound file 'filename' which is set up to have chans' channels of 'sample_type' \n samples with a header of 'header_type'. the latter should be sndlib identifiers:");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_509make_sample2file = {"make_sample2file", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_509make_sample2file, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_508make_sample2file};
static PyObject *__pyx_pw_8pysndlib_3clm_509make_sample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_filename = 0;
PyObject *__pyx_v_chans = 0;
PyObject *__pyx_v_sample_type = 0;
PyObject *__pyx_v_header_type = 0;
PyObject *__pyx_v_comment = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_sample2file (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filename,&__pyx_n_s_chans,&__pyx_n_s_sample_type,&__pyx_n_s_header_type,&__pyx_n_s_comment,0};
PyObject* values[5] = {0,0,0,0,0};
values[1] = ((PyObject *)__pyx_int_1);
values[2] = ((PyObject *)Py_None);
values[3] = ((PyObject *)Py_None);
values[4] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_filename)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3544, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_chans);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3544, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_sample_type);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3544, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_header_type);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3544, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_comment);
if (value) { values[4] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3544, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_sample2file") < 0)) __PYX_ERR(0, 3544, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_filename = values[0];
__pyx_v_chans = values[1];
__pyx_v_sample_type = values[2];
__pyx_v_header_type = values[3];
__pyx_v_comment = values[4];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_sample2file", 0, 1, 5, __pyx_nargs); __PYX_ERR(0, 3544, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_sample2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_508make_sample2file(__pyx_self, __pyx_v_filename, __pyx_v_chans, __pyx_v_sample_type, __pyx_v_header_type, __pyx_v_comment);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_508make_sample2file(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_chans, PyObject *__pyx_v_sample_type, PyObject *__pyx_v_header_type, PyObject *__pyx_v_comment) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_sample2file", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 4;
__pyx_t_2.chans = __pyx_v_chans;
__pyx_t_2.sample_type = __pyx_v_sample_type;
__pyx_t_2.header_type = __pyx_v_header_type;
__pyx_t_2.comment = __pyx_v_comment;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_sample2file(__pyx_v_filename, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3544, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_sample2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__490 = PyTuple_Pack(5, __pyx_n_s_filename, __pyx_n_s_chans, __pyx_n_s_sample_type, __pyx_n_s_header_type, __pyx_n_s_comment); if (unlikely(!__pyx_tuple__490)) __PYX_ERR(0, 3544, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__490);
__Pyx_GIVEREF(__pyx_tuple__490);
__pyx_codeobj__491 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__490, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_sample2file, 3544, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__491)) __PYX_ERR(0, 3544, __pyx_L1_error)
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3544, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_chans, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 3544, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_sample_type, __pyx_kp_s_Optional_sample) < 0) __PYX_ERR(0, 3544, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_header_type, __pyx_kp_s_Optional_header) < 0) __PYX_ERR(0, 3544, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_comment, __pyx_kp_s_Optional_str) < 0) __PYX_ERR(0, 3544, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_509make_sample2file, 0, __pyx_n_s_make_sample2file, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__491)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3544, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_tuple__492);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_sample2file, __pyx_t_40) < 0) __PYX_ERR(0, 3544, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_tuple__492 = PyTuple_Pack(4, __pyx_int_1, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__492)) __PYX_ERR(0, 3544, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__492);
__Pyx_GIVEREF(__pyx_tuple__492);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_sample2file {
int __pyx_n;
PyObject *chans;
PyObject *sample_type;
PyObject *header_type;
PyObject *comment;
};
3545: """return an output generator writing the sound file 'filename' which is set up to have chans' channels of 'sample_type'
3546: samples with a header of 'header_type'. the latter should be sndlib identifiers:"""
+3547: sample_type = sample_type or CLM.sample_type
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_sample_type); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3547, __pyx_L1_error) if (!__pyx_t_2) { } else { __Pyx_INCREF(__pyx_v_sample_type); __pyx_t_1 = __pyx_v_sample_type; goto __pyx_L3_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CLM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sample_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_INCREF(__pyx_t_4); __pyx_t_1 = __pyx_t_4; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_L3_bool_binop_done:; __Pyx_DECREF_SET(__pyx_v_sample_type, __pyx_t_1); __pyx_t_1 = 0;
+3548: header_type = header_type or CLM.header_type
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_header_type); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3548, __pyx_L1_error) if (!__pyx_t_2) { } else { __Pyx_INCREF(__pyx_v_header_type); __pyx_t_1 = __pyx_v_header_type; goto __pyx_L5_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CLM); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3548, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_header_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3548, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = __pyx_t_3; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_L5_bool_binop_done:; __Pyx_DECREF_SET(__pyx_v_header_type, __pyx_t_1); __pyx_t_1 = 0;
+3549: if comment is None:
__pyx_t_2 = (__pyx_v_comment == Py_None);
if (__pyx_t_2) {
/* … */
}
+3550: return mus_any.from_ptr(cclm.mus_make_sample_to_file_with_comment(filename, chans, sample_type, header_type, NULL))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_filename); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(0, 3550, __pyx_L1_error) __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_v_chans); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3550, __pyx_L1_error) __pyx_t_7 = __Pyx_PyInt_As_mus_sample_t(__pyx_v_sample_type); if (unlikely((__pyx_t_7 == ((mus_sample_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3550, __pyx_L1_error) __pyx_t_8 = __Pyx_PyInt_As_mus_header_t(__pyx_v_header_type); if (unlikely((__pyx_t_8 == ((mus_header_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3550, __pyx_L1_error) __pyx_t_1 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_sample_to_file_with_comment(__pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8, NULL), NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0;
3551: else:
+3552: return mus_any.from_ptr(cclm.mus_make_sample_to_file_with_comment(filename, chans, sample_type, header_type, comment))
/*else*/ {
__Pyx_XDECREF((PyObject *)__pyx_r);
__pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_filename); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(0, 3552, __pyx_L1_error)
__pyx_t_6 = __Pyx_PyInt_As_int(__pyx_v_chans); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3552, __pyx_L1_error)
__pyx_t_7 = __Pyx_PyInt_As_mus_sample_t(__pyx_v_sample_type); if (unlikely((__pyx_t_7 == ((mus_sample_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3552, __pyx_L1_error)
__pyx_t_8 = __Pyx_PyInt_As_mus_header_t(__pyx_v_header_type); if (unlikely((__pyx_t_8 == ((mus_header_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3552, __pyx_L1_error)
__pyx_t_9 = __Pyx_PyObject_AsString(__pyx_v_comment); if (unlikely((!__pyx_t_9) && PyErr_Occurred())) __PYX_ERR(0, 3552, __pyx_L1_error)
__pyx_t_1 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_sample_to_file_with_comment(__pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8, __pyx_t_9), NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3552, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_1);
__pyx_t_1 = 0;
goto __pyx_L0;
}
3553:
+3554: cpdef cython.double sample2file(gen: mus_any, samp: int, chan:int , val: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_511sample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_sample2file(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_samp, PyObject *__pyx_v_chan, double __pyx_v_val, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("sample2file", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.sample2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_511sample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_510sample2file, "\n add val to the output stream handled by the output generator 'obj', in channel 'chan' at frample 'samp'\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_511sample2file = {"sample2file", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_511sample2file, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_510sample2file};
static PyObject *__pyx_pw_8pysndlib_3clm_511sample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_samp = 0;
PyObject *__pyx_v_chan = 0;
double __pyx_v_val;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("sample2file (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_samp,&__pyx_n_s_chan,&__pyx_n_s_val,0};
PyObject* values[4] = {0,0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3554, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_samp)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3554, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("sample2file", 1, 4, 4, 1); __PYX_ERR(0, 3554, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_chan)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3554, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("sample2file", 1, 4, 4, 2); __PYX_ERR(0, 3554, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_val)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3554, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("sample2file", 1, 4, 4, 3); __PYX_ERR(0, 3554, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "sample2file") < 0)) __PYX_ERR(0, 3554, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 4)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_samp = ((PyObject*)values[1]);
__pyx_v_chan = ((PyObject*)values[2]);
__pyx_v_val = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3554, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("sample2file", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 3554, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.sample2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3554, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_samp), (&PyInt_Type), 0, "samp", 1))) __PYX_ERR(0, 3554, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_chan), (&PyInt_Type), 0, "chan", 1))) __PYX_ERR(0, 3554, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_510sample2file(__pyx_self, __pyx_v_gen, __pyx_v_samp, __pyx_v_chan, __pyx_v_val);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_510sample2file(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_samp, PyObject *__pyx_v_chan, double __pyx_v_val) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("sample2file", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_sample2file(__pyx_v_gen, __pyx_v_samp, __pyx_v_chan, __pyx_v_val, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3554, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3554, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.sample2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__493 = PyTuple_Pack(4, __pyx_n_s_gen, __pyx_n_s_samp, __pyx_n_s_chan, __pyx_n_s_val); if (unlikely(!__pyx_tuple__493)) __PYX_ERR(0, 3554, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__493);
__Pyx_GIVEREF(__pyx_tuple__493);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3554, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3554, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_samp, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 3554, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_chan, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 3554, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_val, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 3554, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_511sample2file, 0, __pyx_n_s_sample2file, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__494)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3554, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_sample2file, __pyx_t_41) < 0) __PYX_ERR(0, 3554, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__494 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__493, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_sample2file, 3554, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__494)) __PYX_ERR(0, 3554, __pyx_L1_error)
3555: """
3556: add val to the output stream handled by the output generator 'obj', in channel 'chan' at frample 'samp'
3557: """
+3558: return cclm.mus_sample_to_file(gen._ptr, samp, chan, val)
__pyx_t_1 = __Pyx_PyInt_As_mus_long_t(__pyx_v_samp); if (unlikely((__pyx_t_1 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3558, __pyx_L1_error) __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_v_chan); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3558, __pyx_L1_error) __pyx_r = mus_sample_to_file(__pyx_v_gen->_ptr, __pyx_t_1, __pyx_t_2, __pyx_v_val); goto __pyx_L0;
3559:
+3560: cpdef bint is_sample2file(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_513is_sample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_sample2file(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_sample2file", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_513is_sample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_512is_sample2file, "\n returns true if gen is a sample2file\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_513is_sample2file = {"is_sample2file", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_513is_sample2file, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_512is_sample2file};
static PyObject *__pyx_pw_8pysndlib_3clm_513is_sample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_sample2file (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3560, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_sample2file") < 0)) __PYX_ERR(0, 3560, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_sample2file", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3560, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_sample2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3560, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_512is_sample2file(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_512is_sample2file(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_sample2file", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_sample2file(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3560, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3560, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_sample2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3560, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3560, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_513is_sample2file, 0, __pyx_n_s_is_sample2file, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__495)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3560, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_sample2file, __pyx_t_40) < 0) __PYX_ERR(0, 3560, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__495 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_sample2file, 3560, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__495)) __PYX_ERR(0, 3560, __pyx_L1_error)
3561: """
3562: returns true if gen is a sample2file
3563: :param gen: gen
3564: :return: result
3565: :rtype: bool
3566: """
+3567: return cclm.mus_is_sample_to_file(gen._ptr)
__pyx_r = mus_is_sample_to_file(__pyx_v_gen->_ptr); goto __pyx_L0;
3568:
+3569: cpdef mus_any continue_sample2file(name: str):
static PyObject *__pyx_pw_8pysndlib_3clm_515continue_sample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_continue_sample2file(PyObject *__pyx_v_name, CYTHON_UNUSED int __pyx_skip_dispatch) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("continue_sample2file", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.continue_sample2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_515continue_sample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_515continue_sample2file = {"continue_sample2file", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_515continue_sample2file, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_515continue_sample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_name = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("continue_sample2file (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3569, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "continue_sample2file") < 0)) __PYX_ERR(0, 3569, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_name = ((PyObject*)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("continue_sample2file", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3569, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.continue_sample2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_name), (&PyString_Type), 0, "name", 1))) __PYX_ERR(0, 3569, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_514continue_sample2file(__pyx_self, __pyx_v_name);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_514continue_sample2file(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_name) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("continue_sample2file", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_continue_sample2file(__pyx_v_name, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3569, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.continue_sample2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__496 = PyTuple_Pack(1, __pyx_n_s_name); if (unlikely(!__pyx_tuple__496)) __PYX_ERR(0, 3569, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__496);
__Pyx_GIVEREF(__pyx_tuple__496);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3569, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_name, __pyx_n_s_str_2) < 0) __PYX_ERR(0, 3569, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_515continue_sample2file, 0, __pyx_n_s_continue_sample2file, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__497)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3569, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_continue_sample2file, __pyx_t_41) < 0) __PYX_ERR(0, 3569, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__497 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__496, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_continue_sample2file, 3569, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__497)) __PYX_ERR(0, 3569, __pyx_L1_error)
+3570: return mus_any.from_ptr(cclm.mus_continue_sample_to_file(name))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_1 = __Pyx_PyObject_AsString(__pyx_v_name); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) __PYX_ERR(0, 3570, __pyx_L1_error) __pyx_t_2 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_continue_sample_to_file(__pyx_t_1), NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3570, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L0;
3571:
3572:
3573: # ---------------- file-to-frample ---------------- #
+3574: cpdef mus_any make_file2frample(filename, buffer_size: Optional[int]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_517make_file2frample(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_file2frample(PyObject *__pyx_v_filename, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_file2frample *__pyx_optional_args) {
PyObject *__pyx_v_buffer_size = ((PyObject *)Py_None);
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_file2frample", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_buffer_size = __pyx_optional_args->buffer_size;
}
}
__Pyx_INCREF(__pyx_v_buffer_size);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.make_file2frample", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_buffer_size);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_517make_file2frample(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_516make_file2frample, "\n return an input generator reading 'filename' (a sound file)\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_517make_file2frample = {"make_file2frample", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_517make_file2frample, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_516make_file2frample};
static PyObject *__pyx_pw_8pysndlib_3clm_517make_file2frample(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_filename = 0;
PyObject *__pyx_v_buffer_size = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_file2frample (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filename,&__pyx_n_s_buffer_size,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_filename)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3574, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer_size);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3574, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_file2frample") < 0)) __PYX_ERR(0, 3574, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_filename = values[0];
__pyx_v_buffer_size = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_file2frample", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 3574, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_file2frample", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_516make_file2frample(__pyx_self, __pyx_v_filename, __pyx_v_buffer_size);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_516make_file2frample(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_buffer_size) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_file2frample", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.buffer_size = __pyx_v_buffer_size;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_file2frample(__pyx_v_filename, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3574, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_file2frample", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3574, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_buffer_size, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 3574, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_517make_file2frample, 0, __pyx_n_s_make_file2frample, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__498)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3574, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_file2frample, __pyx_t_40) < 0) __PYX_ERR(0, 3574, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__498 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__484, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_file2frample, 3574, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__498)) __PYX_ERR(0, 3574, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_file2frample {
int __pyx_n;
PyObject *buffer_size;
};
3575: """
3576: return an input generator reading 'filename' (a sound file)
3577: """
+3578: buffer_size = buffer_size or CLM.buffer_size
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_buffer_size); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3578, __pyx_L1_error) if (!__pyx_t_2) { } else { __Pyx_INCREF(__pyx_v_buffer_size); __pyx_t_1 = __pyx_v_buffer_size; goto __pyx_L3_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CLM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_buffer_size); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_INCREF(__pyx_t_4); __pyx_t_1 = __pyx_t_4; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_L3_bool_binop_done:; __Pyx_DECREF_SET(__pyx_v_buffer_size, __pyx_t_1); __pyx_t_1 = 0;
+3579: return mus_any.from_ptr(cclm.mus_make_file_to_frample_with_buffer_size(filename, buffer_size))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_filename); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(0, 3579, __pyx_L1_error) __pyx_t_6 = __Pyx_PyInt_As_mus_long_t(__pyx_v_buffer_size); if (unlikely((__pyx_t_6 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3579, __pyx_L1_error) __pyx_t_1 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_file_to_frample_with_buffer_size(__pyx_t_5, __pyx_t_6), NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3579, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0;
3580:
+3581: cpdef file2frample(gen: mus_any, loc: int):
static PyObject *__pyx_pw_8pysndlib_3clm_519file2frample(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_file2frample(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_loc, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyObject *__pyx_v_outf = NULL;
__Pyx_memviewslice __pyx_v_outf_view = { 0, 0, { 0 }, { 0 }, { 0 } };
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("file2frample", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__PYX_XCLEAR_MEMVIEW(&__pyx_t_6, 1);
__Pyx_AddTraceback("pysndlib.clm.file2frample", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_outf);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_outf_view, 1);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_519file2frample(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_518file2frample, "\n frample of samples at frample 'samp' in sound file read by 'obj'\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_519file2frample = {"file2frample", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_519file2frample, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_518file2frample};
static PyObject *__pyx_pw_8pysndlib_3clm_519file2frample(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_loc = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("file2frample (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_loc,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3581, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_loc)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3581, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("file2frample", 1, 2, 2, 1); __PYX_ERR(0, 3581, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "file2frample") < 0)) __PYX_ERR(0, 3581, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_loc = ((PyObject*)values[1]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("file2frample", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3581, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.file2frample", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3581, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), (&PyInt_Type), 0, "loc", 1))) __PYX_ERR(0, 3581, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_518file2frample(__pyx_self, __pyx_v_gen, __pyx_v_loc);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_518file2frample(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_loc) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("file2frample", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_file2frample(__pyx_v_gen, __pyx_v_loc, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3581, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.file2frample", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__499 = PyTuple_Pack(2, __pyx_n_s_gen, __pyx_n_s_loc); if (unlikely(!__pyx_tuple__499)) __PYX_ERR(0, 3581, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__499);
__Pyx_GIVEREF(__pyx_tuple__499);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3581, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3581, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_loc, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 3581, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_519file2frample, 0, __pyx_n_s_file2frample, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__500)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3581, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_file2frample, __pyx_t_41) < 0) __PYX_ERR(0, 3581, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__500 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__499, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_file2frample, 3581, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__500)) __PYX_ERR(0, 3581, __pyx_L1_error)
3582: """
3583: frample of samples at frample 'samp' in sound file read by 'obj'
3584: """
+3585: outf = np.zeros(cclm.mus_channels(gen._ptr), dtype=np.double)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_From_int(mus_channels(__pyx_v_gen->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_double); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 3585, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_outf = __pyx_t_5; __pyx_t_5 = 0;
+3586: cdef double [:] outf_view = outf
__pyx_t_6 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_outf, PyBUF_WRITABLE); if (unlikely(!__pyx_t_6.memview)) __PYX_ERR(0, 3586, __pyx_L1_error) __pyx_v_outf_view = __pyx_t_6; __pyx_t_6.memview = NULL; __pyx_t_6.data = NULL;
+3587: cclm.mus_file_to_frample(gen._ptr, loc, &outf_view[0])
__pyx_t_7 = __Pyx_PyInt_As_mus_long_t(__pyx_v_loc); if (unlikely((__pyx_t_7 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3587, __pyx_L1_error) __pyx_t_8 = 0; __pyx_t_9 = -1; if (__pyx_t_8 < 0) { __pyx_t_8 += __pyx_v_outf_view.shape[0]; if (unlikely(__pyx_t_8 < 0)) __pyx_t_9 = 0; } else if (unlikely(__pyx_t_8 >= __pyx_v_outf_view.shape[0])) __pyx_t_9 = 0; if (unlikely(__pyx_t_9 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_9); __PYX_ERR(0, 3587, __pyx_L1_error) } (void)(mus_file_to_frample(__pyx_v_gen->_ptr, __pyx_t_7, (&(*((double *) ( /* dim=0 */ (__pyx_v_outf_view.data + __pyx_t_8 * __pyx_v_outf_view.strides[0]) ))))));
+3588: return outf
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_outf); __pyx_r = __pyx_v_outf; goto __pyx_L0;
3589:
+3590: cpdef is_file2frample(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_521is_file2frample(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_is_file2frample(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_file2frample", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.is_file2frample", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_521is_file2frample(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_520is_file2frample, "\n returns true if gen is a file2frample\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_521is_file2frample = {"is_file2frample", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_521is_file2frample, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_520is_file2frample};
static PyObject *__pyx_pw_8pysndlib_3clm_521is_file2frample(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_file2frample (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3590, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_file2frample") < 0)) __PYX_ERR(0, 3590, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_file2frample", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3590, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_file2frample", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3590, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_520is_file2frample(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_520is_file2frample(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_file2frample", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_file2frample(__pyx_v_gen, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3590, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.is_file2frample", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3590, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3590, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_521is_file2frample, 0, __pyx_n_s_is_file2frample, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__501)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3590, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_file2frample, __pyx_t_40) < 0) __PYX_ERR(0, 3590, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__501 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_file2frample, 3590, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__501)) __PYX_ERR(0, 3590, __pyx_L1_error)
3591: """
3592: returns true if gen is a file2frample
3593: :param gen: gen
3594: :return: result
3595: :rtype: bool
3596: """
+3597: return cclm.mus_is_file_to_frample(gen._ptr)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyBool_FromLong(mus_is_file_to_frample(__pyx_v_gen->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
3598:
3599:
3600: # ---------------- frample-to-file ---------------- #
+3601: cpdef mus_any make_frample2file(filename, chans: Optional[int]=1, sample_type: Optional[sample]=None, header_type: Optional[header]=None, comment: Optional[str]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_523make_frample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_frample2file(PyObject *__pyx_v_filename, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_frample2file *__pyx_optional_args) {
PyObject *__pyx_v_chans = ((PyObject *)__pyx_int_1);
PyObject *__pyx_v_sample_type = ((PyObject *)Py_None);
PyObject *__pyx_v_header_type = ((PyObject *)Py_None);
PyObject *__pyx_v_comment = ((PyObject *)Py_None);
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_frample2file", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_chans = __pyx_optional_args->chans;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_sample_type = __pyx_optional_args->sample_type;
if (__pyx_optional_args->__pyx_n > 2) {
__pyx_v_header_type = __pyx_optional_args->header_type;
if (__pyx_optional_args->__pyx_n > 3) {
__pyx_v_comment = __pyx_optional_args->comment;
}
}
}
}
}
__Pyx_INCREF(__pyx_v_sample_type);
__Pyx_INCREF(__pyx_v_header_type);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.make_frample2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_sample_type);
__Pyx_XDECREF(__pyx_v_header_type);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_523make_frample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_522make_frample2file, "return an output generator writing the sound file 'filename' which is set up to have 'chans' channels of 'sample_type' \n samples with a header of 'header_type'. the latter should be sndlib identifiers.");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_523make_frample2file = {"make_frample2file", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_523make_frample2file, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_522make_frample2file};
static PyObject *__pyx_pw_8pysndlib_3clm_523make_frample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_filename = 0;
PyObject *__pyx_v_chans = 0;
PyObject *__pyx_v_sample_type = 0;
PyObject *__pyx_v_header_type = 0;
PyObject *__pyx_v_comment = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_frample2file (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filename,&__pyx_n_s_chans,&__pyx_n_s_sample_type,&__pyx_n_s_header_type,&__pyx_n_s_comment,0};
PyObject* values[5] = {0,0,0,0,0};
values[1] = ((PyObject *)__pyx_int_1);
values[2] = ((PyObject *)Py_None);
values[3] = ((PyObject *)Py_None);
values[4] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_filename)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3601, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_chans);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3601, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_sample_type);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3601, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_header_type);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3601, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_comment);
if (value) { values[4] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3601, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_frample2file") < 0)) __PYX_ERR(0, 3601, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_filename = values[0];
__pyx_v_chans = values[1];
__pyx_v_sample_type = values[2];
__pyx_v_header_type = values[3];
__pyx_v_comment = values[4];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_frample2file", 0, 1, 5, __pyx_nargs); __PYX_ERR(0, 3601, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_frample2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_522make_frample2file(__pyx_self, __pyx_v_filename, __pyx_v_chans, __pyx_v_sample_type, __pyx_v_header_type, __pyx_v_comment);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_522make_frample2file(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_chans, PyObject *__pyx_v_sample_type, PyObject *__pyx_v_header_type, PyObject *__pyx_v_comment) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_frample2file", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 4;
__pyx_t_2.chans = __pyx_v_chans;
__pyx_t_2.sample_type = __pyx_v_sample_type;
__pyx_t_2.header_type = __pyx_v_header_type;
__pyx_t_2.comment = __pyx_v_comment;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_frample2file(__pyx_v_filename, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3601, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_frample2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3601, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_chans, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 3601, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_sample_type, __pyx_kp_s_Optional_sample) < 0) __PYX_ERR(0, 3601, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_header_type, __pyx_kp_s_Optional_header) < 0) __PYX_ERR(0, 3601, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_comment, __pyx_kp_s_Optional_str) < 0) __PYX_ERR(0, 3601, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_523make_frample2file, 0, __pyx_n_s_make_frample2file, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__502)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3601, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_tuple__492);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_frample2file, __pyx_t_41) < 0) __PYX_ERR(0, 3601, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__502 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__490, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_frample2file, 3601, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__502)) __PYX_ERR(0, 3601, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_frample2file {
int __pyx_n;
PyObject *chans;
PyObject *sample_type;
PyObject *header_type;
PyObject *comment;
};
3602: """return an output generator writing the sound file 'filename' which is set up to have 'chans' channels of 'sample_type'
3603: samples with a header of 'header_type'. the latter should be sndlib identifiers."""
+3604: sample_type = sample_type or CLM.sample_type
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_sample_type); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3604, __pyx_L1_error) if (!__pyx_t_2) { } else { __Pyx_INCREF(__pyx_v_sample_type); __pyx_t_1 = __pyx_v_sample_type; goto __pyx_L3_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CLM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sample_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_INCREF(__pyx_t_4); __pyx_t_1 = __pyx_t_4; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_L3_bool_binop_done:; __Pyx_DECREF_SET(__pyx_v_sample_type, __pyx_t_1); __pyx_t_1 = 0;
+3605: header_type = header_type or CLM.header_type
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_header_type); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3605, __pyx_L1_error) if (!__pyx_t_2) { } else { __Pyx_INCREF(__pyx_v_header_type); __pyx_t_1 = __pyx_v_header_type; goto __pyx_L5_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CLM); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_header_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = __pyx_t_3; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_L5_bool_binop_done:; __Pyx_DECREF_SET(__pyx_v_header_type, __pyx_t_1); __pyx_t_1 = 0;
+3606: if comment:
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_comment); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3606, __pyx_L1_error) if (__pyx_t_2) { /* … */ }
+3607: return mus_any.from_ptr(cclm.mus_make_frample_to_file_with_comment(filename, chans, sample_type, header_type, comment))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_filename); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(0, 3607, __pyx_L1_error) __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_v_chans); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3607, __pyx_L1_error) __pyx_t_7 = __Pyx_PyInt_As_mus_sample_t(__pyx_v_sample_type); if (unlikely((__pyx_t_7 == ((mus_sample_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3607, __pyx_L1_error) __pyx_t_8 = __Pyx_PyInt_As_mus_header_t(__pyx_v_header_type); if (unlikely((__pyx_t_8 == ((mus_header_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3607, __pyx_L1_error) __pyx_t_9 = __Pyx_PyObject_AsString(__pyx_v_comment); if (unlikely((!__pyx_t_9) && PyErr_Occurred())) __PYX_ERR(0, 3607, __pyx_L1_error) __pyx_t_1 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_frample_to_file_with_comment(__pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8, __pyx_t_9), NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3607, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0;
3608: else:
+3609: return mus_any.from_ptr(cclm.mus_make_frample_to_file_with_comment(filename, chans, sample_type, header_type, NULL))
/*else*/ {
__Pyx_XDECREF((PyObject *)__pyx_r);
__pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_filename); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(0, 3609, __pyx_L1_error)
__pyx_t_6 = __Pyx_PyInt_As_int(__pyx_v_chans); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3609, __pyx_L1_error)
__pyx_t_7 = __Pyx_PyInt_As_mus_sample_t(__pyx_v_sample_type); if (unlikely((__pyx_t_7 == ((mus_sample_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3609, __pyx_L1_error)
__pyx_t_8 = __Pyx_PyInt_As_mus_header_t(__pyx_v_header_type); if (unlikely((__pyx_t_8 == ((mus_header_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3609, __pyx_L1_error)
__pyx_t_1 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_frample_to_file_with_comment(__pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8, NULL), NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3609, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_1);
__pyx_t_1 = 0;
goto __pyx_L0;
}
3610:
+3611: cpdef cython.double frample2file(gen: mus_any, samp: int, chan:int, val):
static PyObject *__pyx_pw_8pysndlib_3clm_525frample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_frample2file(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_samp, CYTHON_UNUSED PyObject *__pyx_v_chan, PyObject *__pyx_v_val, CYTHON_UNUSED int __pyx_skip_dispatch) {
__Pyx_memviewslice __pyx_v_val_view = { 0, 0, { 0 }, { 0 }, { 0 } };
__Pyx_memviewslice __pyx_v_frample = { 0, 0, { 0 }, { 0 }, { 0 } };
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("frample2file", 0);
__Pyx_INCREF(__pyx_v_val);
/* … */
/* function exit code */
__pyx_L1_error:;
__PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("pysndlib.clm.frample2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__PYX_XCLEAR_MEMVIEW(&__pyx_v_val_view, 1);
__PYX_XCLEAR_MEMVIEW(&__pyx_v_frample, 1);
__Pyx_XDECREF(__pyx_v_val);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_525frample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_524frample2file, "\n add frample 'val' to the output stream handled by the output generator 'obj' at frample 'samp'\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_525frample2file = {"frample2file", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_525frample2file, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_524frample2file};
static PyObject *__pyx_pw_8pysndlib_3clm_525frample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_samp = 0;
PyObject *__pyx_v_chan = 0;
PyObject *__pyx_v_val = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("frample2file (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_samp,&__pyx_n_s_chan,&__pyx_n_s_val,0};
PyObject* values[4] = {0,0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3611, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_samp)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3611, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("frample2file", 1, 4, 4, 1); __PYX_ERR(0, 3611, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_chan)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3611, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("frample2file", 1, 4, 4, 2); __PYX_ERR(0, 3611, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_val)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3611, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("frample2file", 1, 4, 4, 3); __PYX_ERR(0, 3611, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "frample2file") < 0)) __PYX_ERR(0, 3611, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 4)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_samp = ((PyObject*)values[1]);
__pyx_v_chan = ((PyObject*)values[2]);
__pyx_v_val = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("frample2file", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 3611, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.frample2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3611, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_samp), (&PyInt_Type), 0, "samp", 1))) __PYX_ERR(0, 3611, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_chan), (&PyInt_Type), 0, "chan", 1))) __PYX_ERR(0, 3611, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_524frample2file(__pyx_self, __pyx_v_gen, __pyx_v_samp, __pyx_v_chan, __pyx_v_val);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_524frample2file(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_samp, PyObject *__pyx_v_chan, PyObject *__pyx_v_val) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("frample2file", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_frample2file(__pyx_v_gen, __pyx_v_samp, __pyx_v_chan, __pyx_v_val, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3611, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3611, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.frample2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3611, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3611, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_samp, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 3611, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_chan, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 3611, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_525frample2file, 0, __pyx_n_s_frample2file, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__503)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3611, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_frample2file, __pyx_t_40) < 0) __PYX_ERR(0, 3611, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__503 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__493, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_frample2file, 3611, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__503)) __PYX_ERR(0, 3611, __pyx_L1_error)
3612: """
3613: add frample 'val' to the output stream handled by the output generator 'obj' at frample 'samp'
3614: """
+3615: cdef double [:] val_view = None
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(Py_None, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 3615, __pyx_L1_error) __pyx_v_val_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
3616:
+3617: if isinstance(val, list):
__pyx_t_2 = PyList_Check(__pyx_v_val);
if (__pyx_t_2) {
/* … */
}
+3618: val = np.srray(val)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3618, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_srray); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3618, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_val}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3618, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF_SET(__pyx_v_val, __pyx_t_3); __pyx_t_3 = 0;
3619:
+3620: val_view = val
__pyx_t_1 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_val, PyBUF_WRITABLE); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 3620, __pyx_L1_error) __PYX_XCLEAR_MEMVIEW(&__pyx_v_val_view, 1); __pyx_v_val_view = __pyx_t_1; __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
3621:
+3622: frample = val_view
__PYX_INC_MEMVIEW(&__pyx_v_val_view, 1); __pyx_v_frample = __pyx_v_val_view;
+3623: cclm.mus_frample_to_file(gen._ptr, samp, &frample[0])
__pyx_t_7 = __Pyx_PyInt_As_mus_long_t(__pyx_v_samp); if (unlikely((__pyx_t_7 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3623, __pyx_L1_error) __pyx_t_8 = 0; __pyx_t_6 = -1; if (__pyx_t_8 < 0) { __pyx_t_8 += __pyx_v_frample.shape[0]; if (unlikely(__pyx_t_8 < 0)) __pyx_t_6 = 0; } else if (unlikely(__pyx_t_8 >= __pyx_v_frample.shape[0])) __pyx_t_6 = 0; if (unlikely(__pyx_t_6 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_6); __PYX_ERR(0, 3623, __pyx_L1_error) } (void)(mus_frample_to_file(__pyx_v_gen->_ptr, __pyx_t_7, (&(*((double *) ( /* dim=0 */ (__pyx_v_frample.data + __pyx_t_8 * __pyx_v_frample.strides[0]) ))))));
+3624: return val
__pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_v_val); if (unlikely((__pyx_t_9 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3624, __pyx_L1_error) __pyx_r = __pyx_t_9; goto __pyx_L0;
3625:
+3626: cpdef bint is_frample2file(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_527is_frample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_frample2file(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_frample2file", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_527is_frample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_526is_frample2file, "\n returns true if gen is a frample2file\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_527is_frample2file = {"is_frample2file", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_527is_frample2file, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_526is_frample2file};
static PyObject *__pyx_pw_8pysndlib_3clm_527is_frample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_frample2file (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3626, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_frample2file") < 0)) __PYX_ERR(0, 3626, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_frample2file", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3626, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_frample2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3626, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_526is_frample2file(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_526is_frample2file(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_frample2file", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_frample2file(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3626, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3626, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_frample2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3626, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3626, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_527is_frample2file, 0, __pyx_n_s_is_frample2file, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__504)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3626, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_frample2file, __pyx_t_41) < 0) __PYX_ERR(0, 3626, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__504 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_frample2file, 3626, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__504)) __PYX_ERR(0, 3626, __pyx_L1_error)
3627: """
3628: returns true if gen is a frample2file
3629: :param gen: gen
3630: :return: result
3631: :rtype: bool
3632: """
+3633: return cclm.mus_is_frample_to_file(gen._ptr)
__pyx_r = mus_is_frample_to_file(__pyx_v_gen->_ptr); goto __pyx_L0;
3634:
3635:
+3636: cpdef mus_any continue_frample2file(name: str):
static PyObject *__pyx_pw_8pysndlib_3clm_529continue_frample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_continue_frample2file(PyObject *__pyx_v_name, CYTHON_UNUSED int __pyx_skip_dispatch) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("continue_frample2file", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.continue_frample2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_529continue_frample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_529continue_frample2file = {"continue_frample2file", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_529continue_frample2file, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_529continue_frample2file(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_name = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("continue_frample2file (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3636, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "continue_frample2file") < 0)) __PYX_ERR(0, 3636, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_name = ((PyObject*)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("continue_frample2file", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3636, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.continue_frample2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_name), (&PyString_Type), 0, "name", 1))) __PYX_ERR(0, 3636, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_528continue_frample2file(__pyx_self, __pyx_v_name);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_528continue_frample2file(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_name) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("continue_frample2file", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_continue_frample2file(__pyx_v_name, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3636, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.continue_frample2file", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3636, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_name, __pyx_n_s_str_2) < 0) __PYX_ERR(0, 3636, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_529continue_frample2file, 0, __pyx_n_s_continue_frample2file, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__505)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3636, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_continue_frample2file, __pyx_t_40) < 0) __PYX_ERR(0, 3636, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__505 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__496, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_continue_frample2file, 3636, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__505)) __PYX_ERR(0, 3636, __pyx_L1_error)
+3637: return mus_any.from_ptr(cclm.mus_continue_frample_to_file(name))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_1 = __Pyx_PyObject_AsString(__pyx_v_name); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) __PYX_ERR(0, 3637, __pyx_L1_error) __pyx_t_2 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_continue_frample_to_file(__pyx_t_1), NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L0;
3638:
3639:
3640: # ---------------- readin ---------------- #
+3641: cpdef mus_any make_readin(filename: str, chan: int=0, start: int=0, direction: Optional[int]=1, buffer_size: Optional[int]=None):
static PyObject *__pyx_pw_8pysndlib_3clm_531make_readin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_readin(PyObject *__pyx_v_filename, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_readin *__pyx_optional_args) {
PyObject *__pyx_v_chan = __pyx_k__35;
PyObject *__pyx_v_start = __pyx_k__36;
PyObject *__pyx_v_direction = ((PyObject *)__pyx_int_1);
PyObject *__pyx_v_buffer_size = ((PyObject *)Py_None);
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_readin", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_chan = __pyx_optional_args->chan;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_start = __pyx_optional_args->start;
if (__pyx_optional_args->__pyx_n > 2) {
__pyx_v_direction = __pyx_optional_args->direction;
if (__pyx_optional_args->__pyx_n > 3) {
__pyx_v_buffer_size = __pyx_optional_args->buffer_size;
}
}
}
}
}
__Pyx_INCREF(__pyx_v_buffer_size);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.make_readin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_buffer_size);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_531make_readin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_530make_readin, "\n return a new readin (file input) generator reading the sound file 'file' starting at frample 'start' in channel 'channel' and reading forward if 'direction' is not -1\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_531make_readin = {"make_readin", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_531make_readin, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_530make_readin};
static PyObject *__pyx_pw_8pysndlib_3clm_531make_readin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_filename = 0;
PyObject *__pyx_v_chan = 0;
PyObject *__pyx_v_start = 0;
PyObject *__pyx_v_direction = 0;
PyObject *__pyx_v_buffer_size = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_readin (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filename,&__pyx_n_s_chan,&__pyx_n_s_start,&__pyx_n_s_direction,&__pyx_n_s_buffer_size,0};
PyObject* values[5] = {0,0,0,0,0};
values[1] = __pyx_k__35;
values[2] = __pyx_k__36;
values[3] = ((PyObject *)__pyx_int_1);
values[4] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_filename)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3641, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_chan);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3641, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_start);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3641, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_direction);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3641, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer_size);
if (value) { values[4] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3641, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_readin") < 0)) __PYX_ERR(0, 3641, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_filename = ((PyObject*)values[0]);
__pyx_v_chan = ((PyObject*)values[1]);
__pyx_v_start = ((PyObject*)values[2]);
__pyx_v_direction = values[3];
__pyx_v_buffer_size = values[4];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_readin", 0, 1, 5, __pyx_nargs); __PYX_ERR(0, 3641, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_readin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_filename), (&PyString_Type), 0, "filename", 1))) __PYX_ERR(0, 3641, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_chan), (&PyInt_Type), 0, "chan", 1))) __PYX_ERR(0, 3641, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_start), (&PyInt_Type), 0, "start", 1))) __PYX_ERR(0, 3641, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_530make_readin(__pyx_self, __pyx_v_filename, __pyx_v_chan, __pyx_v_start, __pyx_v_direction, __pyx_v_buffer_size);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_530make_readin(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_chan, PyObject *__pyx_v_start, PyObject *__pyx_v_direction, PyObject *__pyx_v_buffer_size) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_readin", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 4;
__pyx_t_2.chan = __pyx_v_chan;
__pyx_t_2.start = __pyx_v_start;
__pyx_t_2.direction = __pyx_v_direction;
__pyx_t_2.buffer_size = __pyx_v_buffer_size;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_readin(__pyx_v_filename, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3641, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_readin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
if (!(likely(__Pyx_Py3Int_CheckExact(__pyx_int_0)) || __Pyx_RaiseUnexpectedTypeError("int", __pyx_int_0))) __PYX_ERR(0, 3641, __pyx_L1_error)
__Pyx_INCREF(__pyx_int_0);
__pyx_k__35 = ((PyObject*)__pyx_int_0);
__Pyx_GIVEREF(__pyx_int_0);
if (!(likely(__Pyx_Py3Int_CheckExact(__pyx_int_0)) || __Pyx_RaiseUnexpectedTypeError("int", __pyx_int_0))) __PYX_ERR(0, 3641, __pyx_L1_error)
__Pyx_INCREF(__pyx_int_0);
__pyx_k__36 = ((PyObject*)__pyx_int_0);
__Pyx_GIVEREF(__pyx_int_0);
/* … */
__pyx_tuple__506 = PyTuple_Pack(5, __pyx_n_s_filename, __pyx_n_s_chan, __pyx_n_s_start, __pyx_n_s_direction, __pyx_n_s_buffer_size); if (unlikely(!__pyx_tuple__506)) __PYX_ERR(0, 3641, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__506);
__Pyx_GIVEREF(__pyx_tuple__506);
if (!(likely(__Pyx_Py3Int_CheckExact(__pyx_int_0)) || __Pyx_RaiseUnexpectedTypeError("int", __pyx_int_0))) __PYX_ERR(0, 3641, __pyx_L1_error)
if (!(likely(__Pyx_Py3Int_CheckExact(__pyx_int_0)) || __Pyx_RaiseUnexpectedTypeError("int", __pyx_int_0))) __PYX_ERR(0, 3641, __pyx_L1_error)
__pyx_t_40 = PyTuple_New(4); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 3641, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_INCREF(__pyx_int_0);
__Pyx_GIVEREF(__pyx_int_0);
PyTuple_SET_ITEM(__pyx_t_40, 0, __pyx_int_0);
__Pyx_INCREF(__pyx_int_0);
__Pyx_GIVEREF(__pyx_int_0);
PyTuple_SET_ITEM(__pyx_t_40, 1, __pyx_int_0);
__Pyx_INCREF(__pyx_int_1);
__Pyx_GIVEREF(__pyx_int_1);
PyTuple_SET_ITEM(__pyx_t_40, 2, __pyx_int_1);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_40, 3, Py_None);
__pyx_t_41 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3641, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_filename, __pyx_n_s_str_2) < 0) __PYX_ERR(0, 3641, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_chan, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 3641, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_start, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 3641, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_direction, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 3641, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_buffer_size, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 3641, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_531make_readin, 0, __pyx_n_s_make_readin, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__507)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3641, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_readin, __pyx_t_37) < 0) __PYX_ERR(0, 3641, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__507 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__506, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_readin, 3641, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__507)) __PYX_ERR(0, 3641, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_readin {
int __pyx_n;
PyObject *chan;
PyObject *start;
PyObject *direction;
PyObject *buffer_size;
};
3642: """
3643: return a new readin (file input) generator reading the sound file 'file' starting at frample 'start' in channel 'channel' and reading forward if 'direction' is not -1
3644: """
+3645: buffer_size = buffer_size or CLM.buffer_size
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_buffer_size); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3645, __pyx_L1_error) if (!__pyx_t_2) { } else { __Pyx_INCREF(__pyx_v_buffer_size); __pyx_t_1 = __pyx_v_buffer_size; goto __pyx_L3_bool_binop_done; } __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CLM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3645, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_buffer_size); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3645, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_INCREF(__pyx_t_4); __pyx_t_1 = __pyx_t_4; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_L3_bool_binop_done:; __Pyx_DECREF_SET(__pyx_v_buffer_size, __pyx_t_1); __pyx_t_1 = 0;
+3646: return mus_any.from_ptr(cclm.mus_make_readin_with_buffer_size(filename, chan, start, direction, buffer_size))
__Pyx_XDECREF((PyObject *)__pyx_r); __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_filename); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(0, 3646, __pyx_L1_error) __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_v_chan); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3646, __pyx_L1_error) __pyx_t_7 = __Pyx_PyInt_As_mus_long_t(__pyx_v_start); if (unlikely((__pyx_t_7 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3646, __pyx_L1_error) __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_v_direction); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3646, __pyx_L1_error) __pyx_t_9 = __Pyx_PyInt_As_mus_long_t(__pyx_v_buffer_size); if (unlikely((__pyx_t_9 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3646, __pyx_L1_error) __pyx_t_1 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_readin_with_buffer_size(__pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8, __pyx_t_9), NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0;
3647:
+3648: cpdef cython.double readin(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_533readin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_readin(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("readin", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_533readin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_532readin, "\n next sample from readin generator (a sound file reader)\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_533readin = {"readin", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_533readin, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_532readin};
static PyObject *__pyx_pw_8pysndlib_3clm_533readin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("readin (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3648, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "readin") < 0)) __PYX_ERR(0, 3648, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("readin", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3648, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.readin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3648, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_532readin(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_532readin(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("readin", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_readin(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3648, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3648, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.readin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3648, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3648, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_533readin, 0, __pyx_n_s_readin, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__508)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3648, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_readin, __pyx_t_41) < 0) __PYX_ERR(0, 3648, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__508 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_readin, 3648, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__508)) __PYX_ERR(0, 3648, __pyx_L1_error)
3649: """
3650: next sample from readin generator (a sound file reader)
3651: """
+3652: return cclm.mus_readin(gen._ptr)
__pyx_r = mus_readin(__pyx_v_gen->_ptr); goto __pyx_L0;
3653:
+3654: cpdef is_readin(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_535is_readin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_is_readin(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_readin", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.is_readin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_535is_readin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_534is_readin, "\n returns true if gen is a readin\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_535is_readin = {"is_readin", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_535is_readin, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_534is_readin};
static PyObject *__pyx_pw_8pysndlib_3clm_535is_readin(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_readin (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3654, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_readin") < 0)) __PYX_ERR(0, 3654, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_readin", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3654, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_readin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3654, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_534is_readin(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_534is_readin(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_readin", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_readin(__pyx_v_gen, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3654, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.is_readin", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3654, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3654, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_535is_readin, 0, __pyx_n_s_is_readin, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__509)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3654, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_readin, __pyx_t_37) < 0) __PYX_ERR(0, 3654, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__509 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_readin, 3654, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__509)) __PYX_ERR(0, 3654, __pyx_L1_error)
3655: """
3656: returns true if gen is a readin
3657: :param gen: gen
3658: :return: result
3659: :rtype: bool
3660: """
+3661: return cclm.mus_is_readin(gen._ptr)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyBool_FromLong(mus_is_readin(__pyx_v_gen->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
3662:
3663:
3664: # ---------------- src ---------------- #
+3665: def make_src(inp , srate: Optional[cython.double]=1.0, width: Optional[int]=10):
/* Python wrapper */ static PyObject *__pyx_pw_8pysndlib_3clm_537make_src(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_536make_src, "return a new sampling-rate conversion generator (using 'warped sinc interpolation'). 'srate' is the ratio between the new rate and the old. 'width' is the sine \n width (effectively the steepness of the low-pass filter), normally between 10 and 100. 'input' if given is an open file stream."); static PyMethodDef __pyx_mdef_8pysndlib_3clm_537make_src = {"make_src", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_537make_src, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_536make_src}; static PyObject *__pyx_pw_8pysndlib_3clm_537make_src(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ) { PyObject *__pyx_v_inp = 0; PyObject *__pyx_v_srate = 0; PyObject *__pyx_v_width = 0; #if !CYTHON_METH_FASTCALL CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); #endif CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_src (wrapper)", 0); { PyObject **__pyx_pyargnames[] = {&__pyx_n_s_inp,&__pyx_n_s_srate,&__pyx_n_s_width,0}; PyObject* values[3] = {0,0,0}; values[1] = ((PyObject *)((PyObject*)__pyx_float_1_0)); values[2] = ((PyObject *)((PyObject *)__pyx_int_10)); if (__pyx_kwds) { Py_ssize_t kw_args; switch (__pyx_nargs) { case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); switch (__pyx_nargs) { case 0: if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_inp)) != 0)) kw_args--; else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3665, __pyx_L3_error) else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (kw_args > 0) { PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srate); if (value) { values[1] = value; kw_args--; } else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3665, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_width); if (value) { values[2] = value; kw_args--; } else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3665, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { const Py_ssize_t kwd_pos_args = __pyx_nargs; if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_src") < 0)) __PYX_ERR(0, 3665, __pyx_L3_error) } } else { switch (__pyx_nargs) { case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_inp = values[0]; __pyx_v_srate = values[1]; __pyx_v_width = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("make_src", 0, 1, 3, __pyx_nargs); __PYX_ERR(0, 3665, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("pysndlib.clm.make_src", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_8pysndlib_3clm_536make_src(__pyx_self, __pyx_v_inp, __pyx_v_srate, __pyx_v_width); int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ static PyObject *__pyx_pf_8pysndlib_3clm_536make_src(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_inp, PyObject *__pyx_v_srate, PyObject *__pyx_v_width) { struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_6_make_src *__pyx_cur_scope; input_cb __pyx_v_cy_inp_f_ptr; struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_res = NULL; PyObject *__pyx_v_inp_f = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_src", 0); __pyx_cur_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_6_make_src *)__pyx_tp_new_8pysndlib_3clm___pyx_scope_struct_6_make_src(__pyx_ptype_8pysndlib_3clm___pyx_scope_struct_6_make_src, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_cur_scope)) { __pyx_cur_scope = ((struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_6_make_src *)Py_None); __Pyx_INCREF(Py_None); __PYX_ERR(0, 3665, __pyx_L1_error) } else { __Pyx_GOTREF((PyObject *)__pyx_cur_scope); } __pyx_cur_scope->__pyx_v_inp = __pyx_v_inp; __Pyx_INCREF(__pyx_cur_scope->__pyx_v_inp); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_inp); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_AddTraceback("pysndlib.clm.make_src", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_res); __Pyx_XDECREF(__pyx_v_inp_f); __Pyx_DECREF((PyObject *)__pyx_cur_scope); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ __pyx_tuple__510 = PyTuple_Pack(7, __pyx_n_s_inp, __pyx_n_s_srate, __pyx_n_s_width, __pyx_n_s_cy_inp_f_ptr, __pyx_n_s_res, __pyx_n_s_inp_f, __pyx_n_s_inp_f); if (unlikely(!__pyx_tuple__510)) __PYX_ERR(0, 3665, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__510); __Pyx_GIVEREF(__pyx_tuple__510); __pyx_codeobj__511 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__510, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_src, 3665, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__511)) __PYX_ERR(0, 3665, __pyx_L1_error) /* … */ __pyx_t_37 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3665, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_srate, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3665, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_width, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 3665, __pyx_L1_error) __pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_537make_src, 0, __pyx_n_s_make_src, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__511)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3665, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_tuple__512); __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37); __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_src, __pyx_t_41) < 0) __PYX_ERR(0, 3665, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __pyx_tuple__512 = PyTuple_Pack(2, ((PyObject*)__pyx_float_1_0), ((PyObject *)__pyx_int_10)); if (unlikely(!__pyx_tuple__512)) __PYX_ERR(0, 3665, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__512); __Pyx_GIVEREF(__pyx_tuple__512); /* … */ struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_6_make_src { PyObject_HEAD PyObject *__pyx_v_inp; };
3666: """return a new sampling-rate conversion generator (using 'warped sinc interpolation'). 'srate' is the ratio between the new rate and the old. 'width' is the sine
3667: width (effectively the steepness of the low-pass filter), normally between 10 and 100. 'input' if given is an open file stream."""
3668:
3669: cdef cclm.input_cb cy_inp_f_ptr
3670:
+3671: if(isinstance(inp, mus_any)):
__pyx_t_1 = __pyx_cur_scope->__pyx_v_inp; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __Pyx_TypeCheck(__pyx_t_1, __pyx_ptype_8pysndlib_3clm_mus_any); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ }
+3672: res = mus_any.from_ptr(cclm.mus_make_src(<cclm.input_cb>input_callback_func, srate, width, <void*>((<mus_any>inp)._ptr)))
__pyx_t_3 = __pyx_PyFloat_AsDouble(__pyx_v_srate); if (unlikely((__pyx_t_3 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3672, __pyx_L1_error) __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_v_width); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3672, __pyx_L1_error) __pyx_t_1 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_src(((input_cb)__pyx_f_8pysndlib_3clm_input_callback_func), __pyx_t_3, __pyx_t_4, ((void *)((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_cur_scope->__pyx_v_inp)->_ptr)), NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3672, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_res = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_1); __pyx_t_1 = 0;
+3673: res._inputcallback = <cclm.input_cb>input_callback_func
__pyx_v_res->_inputcallback = ((input_cb)__pyx_f_8pysndlib_3clm_input_callback_func);
+3674: return res
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_res); __pyx_r = ((PyObject *)__pyx_v_res); goto __pyx_L0;
3675:
+3676: if not callable(inp):
__pyx_t_1 = __pyx_cur_scope->__pyx_v_inp; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyCallable_Check(__pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3676, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_5 = (!__pyx_t_2); if (unlikely(__pyx_t_5)) { /* … */ }
+3677: raise TypeError(f"input needs to be a clm gen or function not a {type(inp)}")
__pyx_t_1 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_inp)), __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_input_needs_to_be_a_clm_gen_or_f, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(0, 3677, __pyx_L1_error)
3678:
+3679: @INPUTCALLBACK
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_8make_src_1inp_f(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_8make_src_1inp_f = {"inp_f", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_8make_src_1inp_f, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_8make_src_1inp_f(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED PyObject *__pyx_v_gen = 0;
PyObject *__pyx_v_d = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("inp_f (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_d,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3679, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3679, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("inp_f", 1, 2, 2, 1); __PYX_ERR(0, 3679, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "inp_f") < 0)) __PYX_ERR(0, 3679, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = values[0];
__pyx_v_d = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("inp_f", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3679, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_src.inp_f", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_8make_src_inp_f(__pyx_self, __pyx_v_gen, __pyx_v_d);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_8make_src_inp_f(PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_gen, PyObject *__pyx_v_d) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_6_make_src *__pyx_cur_scope;
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_6_make_src *__pyx_outer_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("inp_f", 0);
__pyx_outer_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_6_make_src *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.make_src.inp_f", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_INPUTCALLBACK); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3679, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
/* … */
__pyx_tuple__37 = PyTuple_Pack(2, __pyx_n_s_gen, __pyx_n_s_d); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(0, 3679, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__37);
__Pyx_GIVEREF(__pyx_tuple__37);
__pyx_t_7 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_8make_src_1inp_f, 0, __pyx_n_s_make_src_locals_inp_f, ((PyObject*)__pyx_cur_scope), __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__38)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3679, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_8 = NULL;
__pyx_t_4 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
__pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
if (likely(__pyx_t_8)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
__Pyx_INCREF(__pyx_t_8);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_6, function);
__pyx_t_4 = 1;
}
}
{
PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3679, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__pyx_v_inp_f = __pyx_t_1;
__pyx_t_1 = 0;
__pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_inp_f, 3679, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) __PYX_ERR(0, 3679, __pyx_L1_error)
3680: def inp_f(gen, d):
+3681: return inp(d)
__Pyx_XDECREF(__pyx_r); if (unlikely(!__pyx_cur_scope->__pyx_v_inp)) { __Pyx_RaiseClosureNameError("inp"); __PYX_ERR(0, 3681, __pyx_L1_error) } __Pyx_INCREF(__pyx_cur_scope->__pyx_v_inp); __pyx_t_2 = __pyx_cur_scope->__pyx_v_inp; __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_d}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
3682:
+3683: cy_inp_f_ptr = (<cclm.input_cb*><size_t>ctypes.addressof(inp_f))[0]
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3683, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_addressof); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3683, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_inp_f}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3683, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __pyx_t_9 = __Pyx_PyInt_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_9 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 3683, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_cy_inp_f_ptr = (((input_cb *)((size_t)__pyx_t_9))[0]);
+3684: res = mus_any.from_ptr(cclm.mus_make_src(cy_inp_f_ptr, srate, width, NULL))
__pyx_t_3 = __pyx_PyFloat_AsDouble(__pyx_v_srate); if (unlikely((__pyx_t_3 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3684, __pyx_L1_error) __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_v_width); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3684, __pyx_L1_error) __pyx_t_1 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_src(__pyx_v_cy_inp_f_ptr, __pyx_t_3, __pyx_t_4, NULL), NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_res = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_1); __pyx_t_1 = 0;
+3685: res._inputcallback = cy_inp_f_ptr
__pyx_v_res->_inputcallback = __pyx_v_cy_inp_f_ptr;
+3686: res.cache_append(inp_f)
__pyx_t_1 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_res->__pyx_vtab)->cache_append(__pyx_v_res, __pyx_v_inp_f, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3687:
+3688: return res
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_res); __pyx_r = ((PyObject *)__pyx_v_res); goto __pyx_L0;
3689:
+3690: cpdef cython.double src(gen: mus_any, sr_change: Optional[cython.double]=0.0):
static PyObject *__pyx_pw_8pysndlib_3clm_539src(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_src(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_src *__pyx_optional_args) {
PyObject *__pyx_v_sr_change = ((PyObject *)__pyx_float_0_0);
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("src", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_sr_change = __pyx_optional_args->sr_change;
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.src", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_539src(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_538src, "next sampling rate conversion sample. 'pm' can be used to change the sampling rate on a sample-by-sample basis. \n 'input-function' is a function of one argument (the current input direction, normally ignored) that is called internally \n whenever a new sample of input data is needed. if the associated make_src included an 'input' argument, input-function is ignored.");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_539src = {"src", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_539src, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_538src};
static PyObject *__pyx_pw_8pysndlib_3clm_539src(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_sr_change = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("src (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_sr_change,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)__pyx_float_0_0);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3690, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_sr_change);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3690, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 3690, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_sr_change = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("src", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 3690, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.src", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3690, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_538src(__pyx_self, __pyx_v_gen, __pyx_v_sr_change);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_538src(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_sr_change) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("src", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.sr_change = __pyx_v_sr_change;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_src(__pyx_v_gen, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3690, __pyx_L1_error)
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3690, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.src", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__513 = PyTuple_Pack(2, __pyx_n_s_gen, __pyx_n_s_sr_change); if (unlikely(!__pyx_tuple__513)) __PYX_ERR(0, 3690, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__513);
__Pyx_GIVEREF(__pyx_tuple__513);
__pyx_codeobj__514 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__513, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_src, 3690, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__514)) __PYX_ERR(0, 3690, __pyx_L1_error)
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3690, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3690, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_sr_change, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3690, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_539src, 0, __pyx_n_s_src, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__514)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3690, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__515);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_src, __pyx_t_37) < 0) __PYX_ERR(0, 3690, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_tuple__515 = PyTuple_Pack(1, __pyx_float_0_0); if (unlikely(!__pyx_tuple__515)) __PYX_ERR(0, 3690, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__515);
__Pyx_GIVEREF(__pyx_tuple__515);
/* … */
struct __pyx_opt_args_8pysndlib_3clm_src {
int __pyx_n;
PyObject *sr_change;
};
3691: """next sampling rate conversion sample. 'pm' can be used to change the sampling rate on a sample-by-sample basis.
3692: 'input-function' is a function of one argument (the current input direction, normally ignored) that is called internally
3693: whenever a new sample of input data is needed. if the associated make_src included an 'input' argument, input-function is ignored."""
+3694: if gen._inputcallback:
__pyx_t_1 = (__pyx_v_gen->_inputcallback != 0);
if (__pyx_t_1) {
/* … */
}
+3695: return cclm.mus_src(gen._ptr, sr_change, <cclm.input_cb>gen._inputcallback)
__pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_sr_change); if (unlikely((__pyx_t_2 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3695, __pyx_L1_error) __pyx_r = mus_src(__pyx_v_gen->_ptr, __pyx_t_2, ((input_cb)__pyx_v_gen->_inputcallback)); goto __pyx_L0;
3696: else:
+3697: return 0.0
/*else*/ {
__pyx_r = 0.0;
goto __pyx_L0;
}
3698:
+3699: cpdef bint is_src(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_541is_src(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_src(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_src", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_541is_src(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_540is_src, "\n returns true if gen is a src\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_541is_src = {"is_src", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_541is_src, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_540is_src};
static PyObject *__pyx_pw_8pysndlib_3clm_541is_src(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_src (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3699, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_src") < 0)) __PYX_ERR(0, 3699, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_src", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3699, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_src", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3699, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_540is_src(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_540is_src(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_src", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_src(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3699, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3699, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_src", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3699, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3699, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_541is_src, 0, __pyx_n_s_is_src, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__516)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3699, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_src, __pyx_t_41) < 0) __PYX_ERR(0, 3699, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__516 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_src, 3699, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__516)) __PYX_ERR(0, 3699, __pyx_L1_error)
3700: """
3701: returns true if gen is a src
3702: :param gen: gen
3703: :return: result
3704: :rtype: bool
3705: """
+3706: return cclm.mus_is_src(gen._ptr)
__pyx_r = mus_is_src(__pyx_v_gen->_ptr); goto __pyx_L0;
3707:
3708:
3709: # ---------------- convolve ---------------- #
3710:
+3711: def make_convolve(inp, filt, fft_size: Optional[int]=512, filter_size: Optional[int]=None ):
/* Python wrapper */ static PyObject *__pyx_pw_8pysndlib_3clm_543make_convolve(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_542make_convolve, "\n return a new convolution generator which convolves its input with the impulse response 'filter'.\n "); static PyMethodDef __pyx_mdef_8pysndlib_3clm_543make_convolve = {"make_convolve", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_543make_convolve, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_542make_convolve}; static PyObject *__pyx_pw_8pysndlib_3clm_543make_convolve(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ) { PyObject *__pyx_v_inp = 0; PyObject *__pyx_v_filt = 0; PyObject *__pyx_v_fft_size = 0; PyObject *__pyx_v_filter_size = 0; #if !CYTHON_METH_FASTCALL CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); #endif CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_convolve (wrapper)", 0); { PyObject **__pyx_pyargnames[] = {&__pyx_n_s_inp,&__pyx_n_s_filt,&__pyx_n_s_fft_size,&__pyx_n_s_filter_size,0}; PyObject* values[4] = {0,0,0,0}; values[2] = ((PyObject *)((PyObject *)__pyx_int_512)); values[3] = ((PyObject *)((PyObject *)Py_None)); if (__pyx_kwds) { Py_ssize_t kw_args; switch (__pyx_nargs) { case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); switch (__pyx_nargs) { case 0: if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_inp)) != 0)) kw_args--; else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3711, __pyx_L3_error) else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_filt)) != 0)) kw_args--; else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3711, __pyx_L3_error) else { __Pyx_RaiseArgtupleInvalid("make_convolve", 0, 2, 4, 1); __PYX_ERR(0, 3711, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fft_size); if (value) { values[2] = value; kw_args--; } else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3711, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (kw_args > 0) { PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_filter_size); if (value) { values[3] = value; kw_args--; } else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3711, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { const Py_ssize_t kwd_pos_args = __pyx_nargs; if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_convolve") < 0)) __PYX_ERR(0, 3711, __pyx_L3_error) } } else { switch (__pyx_nargs) { case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_inp = values[0]; __pyx_v_filt = values[1]; __pyx_v_fft_size = values[2]; __pyx_v_filter_size = values[3]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("make_convolve", 0, 2, 4, __pyx_nargs); __PYX_ERR(0, 3711, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("pysndlib.clm.make_convolve", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_8pysndlib_3clm_542make_convolve(__pyx_self, __pyx_v_inp, __pyx_v_filt, __pyx_v_fft_size, __pyx_v_filter_size); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ static PyObject *__pyx_pf_8pysndlib_3clm_542make_convolve(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_inp, PyObject *__pyx_v_filt, PyObject *__pyx_v_fft_size, PyObject *__pyx_v_filter_size) { struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_7_make_convolve *__pyx_cur_scope; input_cb __pyx_v_cy_input_f_ptr; __Pyx_memviewslice __pyx_v_filt_view = { 0, 0, { 0 }, { 0 }, { 0 } }; PyObject *__pyx_v_fft_len = NULL; struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_res = NULL; PyObject *__pyx_v_inp_f = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_convolve", 0); __pyx_cur_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_7_make_convolve *)__pyx_tp_new_8pysndlib_3clm___pyx_scope_struct_7_make_convolve(__pyx_ptype_8pysndlib_3clm___pyx_scope_struct_7_make_convolve, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_cur_scope)) { __pyx_cur_scope = ((struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_7_make_convolve *)Py_None); __Pyx_INCREF(Py_None); __PYX_ERR(0, 3711, __pyx_L1_error) } else { __Pyx_GOTREF((PyObject *)__pyx_cur_scope); } __pyx_cur_scope->__pyx_v_inp = __pyx_v_inp; __Pyx_INCREF(__pyx_cur_scope->__pyx_v_inp); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_inp); __Pyx_INCREF(__pyx_v_filt); __Pyx_INCREF(__pyx_v_fft_size); __Pyx_INCREF(__pyx_v_filter_size); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __PYX_XCLEAR_MEMVIEW(&__pyx_t_9, 1); __Pyx_XDECREF(__pyx_t_13); __Pyx_AddTraceback("pysndlib.clm.make_convolve", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __PYX_XCLEAR_MEMVIEW(&__pyx_v_filt_view, 1); __Pyx_XDECREF(__pyx_v_fft_len); __Pyx_XDECREF((PyObject *)__pyx_v_res); __Pyx_XDECREF(__pyx_v_inp_f); __Pyx_XDECREF(__pyx_v_filt); __Pyx_XDECREF(__pyx_v_fft_size); __Pyx_XDECREF(__pyx_v_filter_size); __Pyx_DECREF((PyObject *)__pyx_cur_scope); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ __pyx_tuple__517 = PyTuple_Pack(10, __pyx_n_s_inp, __pyx_n_s_filt, __pyx_n_s_fft_size, __pyx_n_s_filter_size, __pyx_n_s_cy_input_f_ptr, __pyx_n_s_filt_view, __pyx_n_s_fft_len, __pyx_n_s_res, __pyx_n_s_inp_f, __pyx_n_s_inp_f); if (unlikely(!__pyx_tuple__517)) __PYX_ERR(0, 3711, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__517); __Pyx_GIVEREF(__pyx_tuple__517); __pyx_codeobj__518 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__517, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_convolve, 3711, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__518)) __PYX_ERR(0, 3711, __pyx_L1_error) /* … */ __pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3711, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_fft_size, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 3711, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_filter_size, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 3711, __pyx_L1_error) __pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_543make_convolve, 0, __pyx_n_s_make_convolve, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__518)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3711, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__519); __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_convolve, __pyx_t_37) < 0) __PYX_ERR(0, 3711, __pyx_L1_error) __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0; __pyx_tuple__519 = PyTuple_Pack(2, ((PyObject *)__pyx_int_512), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__519)) __PYX_ERR(0, 3711, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__519); __Pyx_GIVEREF(__pyx_tuple__519); /* … */ struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_7_make_convolve { PyObject_HEAD PyObject *__pyx_v_inp; };
3712: """
3713: return a new convolution generator which convolves its input with the impulse response 'filter'.
3714: """
3715:
3716: cdef cclm.input_cb cy_input_f_ptr
3717:
3718: cdef double [:] filt_view
3719:
3720:
+3721: if not filter_size:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_filter_size); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3721, __pyx_L1_error) __pyx_t_2 = (!__pyx_t_1); if (__pyx_t_2) { /* … */ }
+3722: filter_size = clm_length(filt)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_clm_length); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_filt}; __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF_SET(__pyx_v_filter_size, __pyx_t_3); __pyx_t_3 = 0;
3723:
+3724: fft_len = 0
__Pyx_INCREF(__pyx_int_0);
__pyx_v_fft_len = __pyx_int_0;
3725:
+3726: if fft_size < 0 or fft_size == 0:
__pyx_t_3 = PyObject_RichCompare(__pyx_v_fft_size, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3726, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3726, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!__pyx_t_1) { } else { __pyx_t_2 = __pyx_t_1; goto __pyx_L5_bool_binop_done; } __pyx_t_1 = (__Pyx_PyInt_BoolEqObjC(__pyx_v_fft_size, __pyx_int_0, 0, 0)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 3726, __pyx_L1_error) __pyx_t_2 = __pyx_t_1; __pyx_L5_bool_binop_done:; if (unlikely(__pyx_t_2)) { /* … */ }
+3727: raise ValueError(f'fft_size must be a positive number greater than 0 not {fft_size}')
__pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_v_fft_size, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3727, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_fft_size_must_be_a_positive_numb, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3727, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3727, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(0, 3727, __pyx_L1_error)
3728:
+3729: if fft_size > csndlib.mus_max_malloc():
__pyx_t_3 = __Pyx_PyInt_From_mus_long_t(mus_max_malloc()); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyObject_RichCompare(__pyx_v_fft_size, __pyx_t_3, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3729, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3729, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(__pyx_t_2)) { /* … */ }
+3730: raise ValueError(f'fft_size too large. cannot allocate {fft_size} size fft')
__pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3730, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = 0; __pyx_t_8 = 127; __Pyx_INCREF(__pyx_kp_u_fft_size_too_large_cannot_alloca); __pyx_t_7 += 36; __Pyx_GIVEREF(__pyx_kp_u_fft_size_too_large_cannot_alloca); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u_fft_size_too_large_cannot_alloca); __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_v_fft_size, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3730, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_8; __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); __pyx_t_3 = 0; __Pyx_INCREF(__pyx_kp_u_size_fft); __pyx_t_7 += 9; __Pyx_GIVEREF(__pyx_kp_u_size_fft); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_kp_u_size_fft); __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3730, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3730, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(0, 3730, __pyx_L1_error)
3731:
+3732: if is_power_of_2(filter_size):
__pyx_t_4 = __pyx_f_8pysndlib_3clm_is_power_of_2(__pyx_v_filter_size, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3732, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3732, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L8; }
+3733: fft_len = filter_size * 2
__pyx_t_4 = __Pyx_PyInt_MultiplyObjC(__pyx_v_filter_size, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3733, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_fft_len, __pyx_t_4); __pyx_t_4 = 0;
3734: else :
+3735: fft_len = next_power_of_2(filter_size)
/*else*/ {
__pyx_t_4 = __pyx_f_8pysndlib_3clm_next_power_of_2(__pyx_v_filter_size, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3735, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF_SET(__pyx_v_fft_len, __pyx_t_4);
__pyx_t_4 = 0;
}
__pyx_L8:;
3736:
+3737: if fft_size < fft_len:
__pyx_t_4 = PyObject_RichCompare(__pyx_v_fft_size, __pyx_v_fft_len, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3737, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3737, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_2) { /* … */ }
+3738: fft_size = fft_len
__Pyx_INCREF(__pyx_v_fft_len); __Pyx_DECREF_SET(__pyx_v_fft_size, __pyx_v_fft_len);
3739:
+3740: if isinstance(filt, list):
__pyx_t_2 = PyList_Check(__pyx_v_filt);
if (__pyx_t_2) {
/* … */
}
+3741: filt = np.array(filt)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_filt}; __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF_SET(__pyx_v_filt, __pyx_t_4); __pyx_t_4 = 0;
3742:
+3743: check_ndim(filt)
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_check_ndim); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_filt}; __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3744:
+3745: filt_view = filt
__pyx_t_9 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_v_filt, PyBUF_WRITABLE); if (unlikely(!__pyx_t_9.memview)) __PYX_ERR(0, 3745, __pyx_L1_error) __pyx_v_filt_view = __pyx_t_9; __pyx_t_9.memview = NULL; __pyx_t_9.data = NULL;
3746:
+3747: if(isinstance(inp, mus_any)):
__pyx_t_4 = __pyx_cur_scope->__pyx_v_inp; __Pyx_INCREF(__pyx_t_4); __pyx_t_2 = __Pyx_TypeCheck(__pyx_t_4, __pyx_ptype_8pysndlib_3clm_mus_any); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_2) { /* … */ }
+3748: res = mus_any.from_ptr(cclm.mus_make_convolve(<cclm.input_cb>input_callback_func, &filt_view[0], fft_size, filter_size, <void*>(<mus_any>inp)._ptr))
__pyx_t_10 = 0;
__pyx_t_6 = -1;
if (__pyx_t_10 < 0) {
__pyx_t_10 += __pyx_v_filt_view.shape[0];
if (unlikely(__pyx_t_10 < 0)) __pyx_t_6 = 0;
} else if (unlikely(__pyx_t_10 >= __pyx_v_filt_view.shape[0])) __pyx_t_6 = 0;
if (unlikely(__pyx_t_6 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_6);
__PYX_ERR(0, 3748, __pyx_L1_error)
}
__pyx_t_11 = __Pyx_PyInt_As_mus_long_t(__pyx_v_fft_size); if (unlikely((__pyx_t_11 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3748, __pyx_L1_error)
__pyx_t_12 = __Pyx_PyInt_As_mus_long_t(__pyx_v_filter_size); if (unlikely((__pyx_t_12 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3748, __pyx_L1_error)
__pyx_t_4 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_convolve(((input_cb)__pyx_f_8pysndlib_3clm_input_callback_func), (&(*((double *) ( /* dim=0 */ (__pyx_v_filt_view.data + __pyx_t_10 * __pyx_v_filt_view.strides[0]) )))), __pyx_t_11, __pyx_t_12, ((void *)((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_cur_scope->__pyx_v_inp)->_ptr)), NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3748, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_v_res = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_4);
__pyx_t_4 = 0;
+3749: res._inputcallback = <cclm.input_cb>input_callback_func
__pyx_v_res->_inputcallback = ((input_cb)__pyx_f_8pysndlib_3clm_input_callback_func);
+3750: res.cache_append(filt)
__pyx_t_4 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_res->__pyx_vtab)->cache_append(__pyx_v_res, __pyx_v_filt, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+3751: return res
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_res); __pyx_r = ((PyObject *)__pyx_v_res); goto __pyx_L0;
3752:
+3753: if not callable(inp):
__pyx_t_4 = __pyx_cur_scope->__pyx_v_inp; __Pyx_INCREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyCallable_Check(__pyx_t_4); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3753, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_1 = (!__pyx_t_2); if (unlikely(__pyx_t_1)) { /* … */ }
+3754: raise TypeError(f"input needs to be a clm gen or function not a {type(inp)}")
__pyx_t_4 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_inp)), __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3754, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_input_needs_to_be_a_clm_gen_or_f, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3754, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3754, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(0, 3754, __pyx_L1_error)
3755:
+3756: @INPUTCALLBACK
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_13make_convolve_1inp_f(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_13make_convolve_1inp_f = {"inp_f", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_13make_convolve_1inp_f, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_13make_convolve_1inp_f(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED PyObject *__pyx_v_gen = 0;
PyObject *__pyx_v_d = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("inp_f (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_d,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3756, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3756, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("inp_f", 1, 2, 2, 1); __PYX_ERR(0, 3756, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "inp_f") < 0)) __PYX_ERR(0, 3756, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = values[0];
__pyx_v_d = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("inp_f", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3756, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_convolve.inp_f", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_13make_convolve_inp_f(__pyx_self, __pyx_v_gen, __pyx_v_d);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_13make_convolve_inp_f(PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_gen, PyObject *__pyx_v_d) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_7_make_convolve *__pyx_cur_scope;
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_7_make_convolve *__pyx_outer_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("inp_f", 0);
__pyx_outer_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_7_make_convolve *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.make_convolve.inp_f", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_INPUTCALLBACK); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3756, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_13make_convolve_1inp_f, 0, __pyx_n_s_make_convolve_locals_inp_f, ((PyObject*)__pyx_cur_scope), __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__39)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3756, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_13 = NULL;
__pyx_t_6 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_13)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_13);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
__pyx_t_6 = 1;
}
}
{
PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_3};
__pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
__Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3756, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__pyx_v_inp_f = __pyx_t_4;
__pyx_t_4 = 0;
/* … */
__pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_inp_f, 3756, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 3756, __pyx_L1_error)
3757: def inp_f(gen, d):
+3758: return inp(d)
__Pyx_XDECREF(__pyx_r); if (unlikely(!__pyx_cur_scope->__pyx_v_inp)) { __Pyx_RaiseClosureNameError("inp"); __PYX_ERR(0, 3758, __pyx_L1_error) } __Pyx_INCREF(__pyx_cur_scope->__pyx_v_inp); __pyx_t_2 = __pyx_cur_scope->__pyx_v_inp; __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_d}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
3759:
+3760: inp_f = INPUTCALLBACK(inp)
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_INPUTCALLBACK); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_cur_scope->__pyx_v_inp}; __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF_SET(__pyx_v_inp_f, __pyx_t_4); __pyx_t_4 = 0;
+3761: cy_input_f_ptr = (<cclm.input_cb*><size_t>ctypes.addressof(inp_f))[0]
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_addressof); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_inp_f}; __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_t_14 = __Pyx_PyInt_As_size_t(__pyx_t_4); if (unlikely((__pyx_t_14 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 3761, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_cy_input_f_ptr = (((input_cb *)((size_t)__pyx_t_14))[0]);
+3762: res = mus_any.from_ptr(cclm.mus_make_convolve(cy_input_f_ptr, &filt_view[0], fft_size, filter_size, NULL))
__pyx_t_10 = 0;
__pyx_t_6 = -1;
if (__pyx_t_10 < 0) {
__pyx_t_10 += __pyx_v_filt_view.shape[0];
if (unlikely(__pyx_t_10 < 0)) __pyx_t_6 = 0;
} else if (unlikely(__pyx_t_10 >= __pyx_v_filt_view.shape[0])) __pyx_t_6 = 0;
if (unlikely(__pyx_t_6 != -1)) {
__Pyx_RaiseBufferIndexError(__pyx_t_6);
__PYX_ERR(0, 3762, __pyx_L1_error)
}
__pyx_t_12 = __Pyx_PyInt_As_mus_long_t(__pyx_v_fft_size); if (unlikely((__pyx_t_12 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3762, __pyx_L1_error)
__pyx_t_11 = __Pyx_PyInt_As_mus_long_t(__pyx_v_filter_size); if (unlikely((__pyx_t_11 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3762, __pyx_L1_error)
__pyx_t_4 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_convolve(__pyx_v_cy_input_f_ptr, (&(*((double *) ( /* dim=0 */ (__pyx_v_filt_view.data + __pyx_t_10 * __pyx_v_filt_view.strides[0]) )))), __pyx_t_12, __pyx_t_11, NULL), NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3762, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_v_res = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_4);
__pyx_t_4 = 0;
+3763: res._inputcallback = cy_input_f_ptr
__pyx_v_res->_inputcallback = __pyx_v_cy_input_f_ptr;
+3764: res.cache_append(inp_f)
__pyx_t_4 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_v_res->__pyx_vtab)->cache_append(__pyx_v_res, __pyx_v_inp_f, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3765:
+3766: return res
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_res); __pyx_r = ((PyObject *)__pyx_v_res); goto __pyx_L0;
3767:
3768:
+3769: cpdef cython.double convolve(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_545convolve(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_convolve(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("convolve", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_545convolve(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_544convolve, "\n next sample from convolution generator\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_545convolve = {"convolve", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_545convolve, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_544convolve};
static PyObject *__pyx_pw_8pysndlib_3clm_545convolve(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("convolve (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3769, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "convolve") < 0)) __PYX_ERR(0, 3769, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("convolve", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3769, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.convolve", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3769, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_544convolve(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_544convolve(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("convolve", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_convolve(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3769, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3769, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.convolve", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3769, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3769, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_545convolve, 0, __pyx_n_s_convolve, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__520)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3769, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_convolve, __pyx_t_41) < 0) __PYX_ERR(0, 3769, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__520 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_convolve, 3769, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__520)) __PYX_ERR(0, 3769, __pyx_L1_error)
3770: """
3771: next sample from convolution generator
3772: """
+3773: return cclm.mus_convolve(gen._ptr, gen._inputcallback)
__pyx_r = mus_convolve(__pyx_v_gen->_ptr, __pyx_v_gen->_inputcallback); goto __pyx_L0;
3774:
+3775: cpdef bint is_convolve(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_547is_convolve(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_convolve(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_convolve", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_547is_convolve(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_546is_convolve, "\n returns true if gen is a convolve\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_547is_convolve = {"is_convolve", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_547is_convolve, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_546is_convolve};
static PyObject *__pyx_pw_8pysndlib_3clm_547is_convolve(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_convolve (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3775, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_convolve") < 0)) __PYX_ERR(0, 3775, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_convolve", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3775, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_convolve", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3775, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_546is_convolve(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_546is_convolve(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_convolve", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_convolve(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3775, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3775, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_convolve", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3775, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3775, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_547is_convolve, 0, __pyx_n_s_is_convolve, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__521)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3775, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_convolve, __pyx_t_37) < 0) __PYX_ERR(0, 3775, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__521 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_convolve, 3775, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__521)) __PYX_ERR(0, 3775, __pyx_L1_error)
3776: """
3777: returns true if gen is a convolve
3778: :param gen: gen
3779: :return: result
3780: :rtype: bool
3781: """
+3782: return cclm.mus_is_convolve(gen._ptr)
__pyx_r = mus_is_convolve(__pyx_v_gen->_ptr); goto __pyx_L0;
3783:
3784:
3785: # --------------- granulate ----------------
+3786: def make_granulate(inp,
/* Python wrapper */ static PyObject *__pyx_pw_8pysndlib_3clm_549make_granulate(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_548make_granulate, "return a new granular synthesis generator. 'length' is the grain length (seconds), 'expansion' is the ratio in timing\n between the new and old (expansion > 1.0 slows things down), 'scaler' scales the grains\n to avoid overflows, 'hop' is the spacing (seconds) between successive grains upon output.\n 'jitter' controls the randomness in that spacing, 'input' can be a file pointer. 'edit' can\n be a function of one arg, the current granulate generator. it is called just before\n a grain is added into the output buffer. the current grain is accessible via mus_data.\n the edit function, if any, should return the length in samples of the grain, or 0.\n "); static PyMethodDef __pyx_mdef_8pysndlib_3clm_549make_granulate = {"make_granulate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_549make_granulate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_548make_granulate}; static PyObject *__pyx_pw_8pysndlib_3clm_549make_granulate(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ) { PyObject *__pyx_v_inp = 0; PyObject *__pyx_v_expansion = 0; PyObject *__pyx_v_length = 0; PyObject *__pyx_v_scaler = 0; PyObject *__pyx_v_hop = 0; PyObject *__pyx_v_ramp = 0; PyObject *__pyx_v_jitter = 0; PyObject *__pyx_v_max_size = 0; PyObject *__pyx_v_edit = 0; #if !CYTHON_METH_FASTCALL CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); #endif CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_granulate (wrapper)", 0); { PyObject **__pyx_pyargnames[] = {&__pyx_n_s_inp,&__pyx_n_s_expansion,&__pyx_n_s_length,&__pyx_n_s_scaler,&__pyx_n_s_hop,&__pyx_n_s_ramp,&__pyx_n_s_jitter,&__pyx_n_s_max_size,&__pyx_n_s_edit,0}; PyObject* values[9] = {0,0,0,0,0,0,0,0,0}; values[1] = ((PyObject *)((PyObject*)__pyx_float_1_0)); values[2] = ((PyObject *)((PyObject*)__pyx_float__15)); values[3] = ((PyObject *)((PyObject*)__pyx_float__6)); values[4] = ((PyObject *)((PyObject*)__pyx_float__05)); values[5] = ((PyObject *)((PyObject*)__pyx_float__4)); values[6] = ((PyObject *)((PyObject*)__pyx_float_0_0)); values[7] = ((PyObject *)((PyObject *)__pyx_int_0)); /* … */ /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ static PyObject *__pyx_pf_8pysndlib_3clm_548make_granulate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_inp, PyObject *__pyx_v_expansion, PyObject *__pyx_v_length, PyObject *__pyx_v_scaler, PyObject *__pyx_v_hop, PyObject *__pyx_v_ramp, PyObject *__pyx_v_jitter, PyObject *__pyx_v_max_size, PyObject *__pyx_v_edit) { struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_8_make_granulate *__pyx_cur_scope; edit_cb __pyx_v_cy_edit_f_ptr; PyObject *__pyx_v_inp_f = 0; input_cb __pyx_v_cy_inp_f_ptr; PyObject *__pyx_v_edit_f = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_granulate", 0); __pyx_cur_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_8_make_granulate *)__pyx_tp_new_8pysndlib_3clm___pyx_scope_struct_8_make_granulate(__pyx_ptype_8pysndlib_3clm___pyx_scope_struct_8_make_granulate, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_cur_scope)) { __pyx_cur_scope = ((struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_8_make_granulate *)Py_None); __Pyx_INCREF(Py_None); __PYX_ERR(0, 3786, __pyx_L1_error) } else { __Pyx_GOTREF((PyObject *)__pyx_cur_scope); } __pyx_cur_scope->__pyx_v_inp = __pyx_v_inp; __Pyx_INCREF(__pyx_cur_scope->__pyx_v_inp); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_inp); __pyx_cur_scope->__pyx_v_edit = __pyx_v_edit; __Pyx_INCREF(__pyx_cur_scope->__pyx_v_edit); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_edit); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_11); __Pyx_XDECREF(__pyx_t_12); __Pyx_XDECREF(__pyx_t_13); __Pyx_AddTraceback("pysndlib.clm.make_granulate", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_inp_f); __Pyx_XDECREF(__pyx_v_edit_f); __Pyx_DECREF((PyObject *)__pyx_cur_scope); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ __pyx_tuple__522 = PyTuple_Pack(17, __pyx_n_s_inp, __pyx_n_s_expansion, __pyx_n_s_length, __pyx_n_s_scaler, __pyx_n_s_hop, __pyx_n_s_ramp, __pyx_n_s_jitter, __pyx_n_s_max_size, __pyx_n_s_edit, __pyx_n_s_cy_input_f_ptr, __pyx_n_s_cy_edit_f_ptr, __pyx_n_s_res, __pyx_n_s_inp_f, __pyx_n_s_inp_f, __pyx_n_s_cy_inp_f_ptr, __pyx_n_s_edit_f, __pyx_n_s_edit_f); if (unlikely(!__pyx_tuple__522)) __PYX_ERR(0, 3786, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__522); __Pyx_GIVEREF(__pyx_tuple__522); __pyx_codeobj__523 = (PyObject*)__Pyx_PyCode_New(9, 0, 0, 17, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__522, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_granulate, 3786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__523)) __PYX_ERR(0, 3786, __pyx_L1_error) /* … */ __pyx_t_37 = __Pyx_PyDict_NewPresized(7); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_expansion, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3786, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_length, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3786, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_scaler, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3786, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_hop, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3786, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_ramp, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3786, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_jitter, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3786, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_max_size, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 3786, __pyx_L1_error) __pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_549make_granulate, 0, __pyx_n_s_make_granulate, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__523)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_tuple__524); __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37); __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_granulate, __pyx_t_41) < 0) __PYX_ERR(0, 3786, __pyx_L1_error) __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; __pyx_tuple__524 = PyTuple_Pack(8, ((PyObject*)__pyx_float_1_0), ((PyObject*)__pyx_float__15), ((PyObject*)__pyx_float__6), ((PyObject*)__pyx_float__05), ((PyObject*)__pyx_float__4), ((PyObject*)__pyx_float_0_0), ((PyObject *)__pyx_int_0), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__524)) __PYX_ERR(0, 3786, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__524); __Pyx_GIVEREF(__pyx_tuple__524); /* … */ struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_8_make_granulate { PyObject_HEAD PyObject *__pyx_v_edit; PyObject *__pyx_v_inp; struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_res; };
3787: expansion: Optional[cython.double]=1.0,
3788: length: Optional[cython.double]=.15,
3789: scaler: Optional[cython.double]=.6,
3790: hop: Optional[cython.double]=.05,
3791: ramp: Optional[cython.double]=.4,
3792: jitter: Optional[cython.double]=0.0,
3793: max_size: Optional[int]=0,
+3794: edit=None):
values[8] = ((PyObject *)((PyObject *)Py_None));
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 9: values[8] = __Pyx_Arg_FASTCALL(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = __Pyx_Arg_FASTCALL(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_inp)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3786, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_expansion);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3786, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_length);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3786, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_scaler);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3786, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hop);
if (value) { values[4] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3786, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ramp);
if (value) { values[5] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3786, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_jitter);
if (value) { values[6] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3786, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 7:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_max_size);
if (value) { values[7] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3786, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 8:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_edit);
if (value) { values[8] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3786, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_granulate") < 0)) __PYX_ERR(0, 3786, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 9: values[8] = __Pyx_Arg_FASTCALL(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = __Pyx_Arg_FASTCALL(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_inp = values[0];
__pyx_v_expansion = values[1];
__pyx_v_length = values[2];
__pyx_v_scaler = values[3];
__pyx_v_hop = values[4];
__pyx_v_ramp = values[5];
__pyx_v_jitter = values[6];
__pyx_v_max_size = values[7];
__pyx_v_edit = values[8];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_granulate", 0, 1, 9, __pyx_nargs); __PYX_ERR(0, 3786, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_granulate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_548make_granulate(__pyx_self, __pyx_v_inp, __pyx_v_expansion, __pyx_v_length, __pyx_v_scaler, __pyx_v_hop, __pyx_v_ramp, __pyx_v_jitter, __pyx_v_max_size, __pyx_v_edit);
3795:
3796: """return a new granular synthesis generator. 'length' is the grain length (seconds), 'expansion' is the ratio in timing
3797: between the new and old (expansion > 1.0 slows things down), 'scaler' scales the grains
3798: to avoid overflows, 'hop' is the spacing (seconds) between successive grains upon output.
3799: 'jitter' controls the randomness in that spacing, 'input' can be a file pointer. 'edit' can
3800: be a function of one arg, the current granulate generator. it is called just before
3801: a grain is added into the output buffer. the current grain is accessible via mus_data.
3802: the edit function, if any, should return the length in samples of the grain, or 0.
3803: """
3804:
3805:
3806: cdef cclm.input_cb cy_input_f_ptr
3807: cdef cclm.edit_cb cy_edit_f_ptr
3808:
+3809: if(isinstance(inp, mus_any) and edit is None):
__pyx_t_2 = __pyx_cur_scope->__pyx_v_inp; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = __Pyx_TypeCheck(__pyx_t_2, __pyx_ptype_8pysndlib_3clm_mus_any); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L4_bool_binop_done; } __pyx_t_3 = (__pyx_cur_scope->__pyx_v_edit == Py_None); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+3810: res = mus_any.from_ptr(cclm.mus_make_granulate(<cclm.input_cb>input_callback_func, expansion, length, scaler, hop, ramp, jitter, max_size, NULL, <void*>(<mus_any>inp)._ptr))
__pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_v_expansion); if (unlikely((__pyx_t_4 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3810, __pyx_L1_error) __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_v_length); if (unlikely((__pyx_t_5 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3810, __pyx_L1_error) __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_v_scaler); if (unlikely((__pyx_t_6 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3810, __pyx_L1_error) __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_v_hop); if (unlikely((__pyx_t_7 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3810, __pyx_L1_error) __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_v_ramp); if (unlikely((__pyx_t_8 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3810, __pyx_L1_error) __pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_v_jitter); if (unlikely((__pyx_t_9 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3810, __pyx_L1_error) __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_v_max_size); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3810, __pyx_L1_error) __pyx_t_2 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_granulate(((input_cb)__pyx_f_8pysndlib_3clm_input_callback_func), __pyx_t_4, __pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8, __pyx_t_9, __pyx_t_10, NULL, ((void *)((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_cur_scope->__pyx_v_inp)->_ptr)), NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_cur_scope->__pyx_v_res = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_2); __pyx_t_2 = 0;
+3811: res._inputcallback = <cclm.input_cb>input_callback_func
__pyx_cur_scope->__pyx_v_res->_inputcallback = ((input_cb)__pyx_f_8pysndlib_3clm_input_callback_func);
+3812: return res
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_res); __pyx_r = ((PyObject *)__pyx_cur_scope->__pyx_v_res); goto __pyx_L0;
3813:
+3814: if not callable(inp):
__pyx_t_2 = __pyx_cur_scope->__pyx_v_inp; __Pyx_INCREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyCallable_Check(__pyx_t_2); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 3814, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = (!__pyx_t_1); if (unlikely(__pyx_t_3)) { /* … */ }
+3815: raise TypeError(f"input needs to be a clm gen or function not a {type(inp)}")
__pyx_t_2 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_inp)), __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3815, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = __Pyx_PyUnicode_Concat(__pyx_kp_u_input_needs_to_be_a_clm_gen_or_f, __pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3815, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3815, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(0, 3815, __pyx_L1_error)
3816:
+3817: @INPUTCALLBACK
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_14make_granulate_1inp_f(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_14make_granulate_1inp_f = {"inp_f", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_14make_granulate_1inp_f, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_14make_granulate_1inp_f(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED PyObject *__pyx_v_gen = 0;
PyObject *__pyx_v_d = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("inp_f (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_d,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3817, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3817, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("inp_f", 1, 2, 2, 1); __PYX_ERR(0, 3817, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "inp_f") < 0)) __PYX_ERR(0, 3817, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = values[0];
__pyx_v_d = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("inp_f", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3817, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_granulate.inp_f", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_14make_granulate_inp_f(__pyx_self, __pyx_v_gen, __pyx_v_d);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_14make_granulate_inp_f(PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_gen, PyObject *__pyx_v_d) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_8_make_granulate *__pyx_cur_scope;
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_8_make_granulate *__pyx_outer_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("inp_f", 0);
__pyx_outer_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_8_make_granulate *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.make_granulate.inp_f", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_INPUTCALLBACK); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3817, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_14make_granulate_1inp_f, 0, __pyx_n_s_make_granulate_locals_inp_f, ((PyObject*)__pyx_cur_scope), __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__40)); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3817, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__pyx_t_13 = NULL;
__pyx_t_10 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) {
__pyx_t_13 = PyMethod_GET_SELF(__pyx_t_11);
if (likely(__pyx_t_13)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
__Pyx_INCREF(__pyx_t_13);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_11, function);
__pyx_t_10 = 1;
}
}
{
PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_12};
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10);
__Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3817, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
}
__pyx_v_inp_f = __pyx_t_2;
__pyx_t_2 = 0;
/* … */
__pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_inp_f, 3817, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) __PYX_ERR(0, 3817, __pyx_L1_error)
3818: def inp_f(gen, d):
+3819: return inp(d)
__Pyx_XDECREF(__pyx_r); if (unlikely(!__pyx_cur_scope->__pyx_v_inp)) { __Pyx_RaiseClosureNameError("inp"); __PYX_ERR(0, 3819, __pyx_L1_error) } __Pyx_INCREF(__pyx_cur_scope->__pyx_v_inp); __pyx_t_2 = __pyx_cur_scope->__pyx_v_inp; __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_d}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
3820:
3821:
+3822: cy_inp_f_ptr = (<cclm.input_cb*><size_t>ctypes.addressof(inp_f))[0]
__Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_addressof); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); __pyx_t_10 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_v_inp_f}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } __pyx_t_14 = __Pyx_PyInt_As_size_t(__pyx_t_2); if (unlikely((__pyx_t_14 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 3822, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_cy_inp_f_ptr = (((input_cb *)((size_t)__pyx_t_14))[0]);
+3823: res = mus_any.from_ptr(cclm.mus_make_granulate(<cclm.input_cb>cy_inp_f_ptr, expansion, length, scaler, hop, ramp, jitter, max_size, NULL, NULL))
__pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_v_expansion); if (unlikely((__pyx_t_9 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3823, __pyx_L1_error) __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_v_length); if (unlikely((__pyx_t_8 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3823, __pyx_L1_error) __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_v_scaler); if (unlikely((__pyx_t_7 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3823, __pyx_L1_error) __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_v_hop); if (unlikely((__pyx_t_6 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3823, __pyx_L1_error) __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_v_ramp); if (unlikely((__pyx_t_5 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3823, __pyx_L1_error) __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_v_jitter); if (unlikely((__pyx_t_4 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3823, __pyx_L1_error) __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_v_max_size); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3823, __pyx_L1_error) __pyx_t_2 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_granulate(((input_cb)__pyx_v_cy_inp_f_ptr), __pyx_t_9, __pyx_t_8, __pyx_t_7, __pyx_t_6, __pyx_t_5, __pyx_t_4, __pyx_t_10, NULL, NULL), NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3823, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_cur_scope->__pyx_v_res = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_2); __pyx_t_2 = 0;
+3824: res._inputcallback = cy_inp_f_ptr
__pyx_cur_scope->__pyx_v_res->_inputcallback = __pyx_v_cy_inp_f_ptr;
+3825: res.cache_append(inp_f)
__pyx_t_2 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_cur_scope->__pyx_v_res->__pyx_vtab)->cache_append(__pyx_cur_scope->__pyx_v_res, __pyx_v_inp_f, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3825, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3826:
+3827: if(edit is None):
__pyx_t_3 = (__pyx_cur_scope->__pyx_v_edit == Py_None);
if (__pyx_t_3) {
/* … */
}
+3828: return res
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_res); __pyx_r = ((PyObject *)__pyx_cur_scope->__pyx_v_res); goto __pyx_L0;
3829:
+3830: @EDITCALLBACK
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_14make_granulate_3edit_f(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_14make_granulate_3edit_f = {"edit_f", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_14make_granulate_3edit_f, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_14make_granulate_3edit_f(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED PyObject *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("edit_f (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3830, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "edit_f") < 0)) __PYX_ERR(0, 3830, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("edit_f", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3830, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_granulate.edit_f", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_14make_granulate_2edit_f(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_14make_granulate_2edit_f(PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_gen) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_8_make_granulate *__pyx_cur_scope;
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_8_make_granulate *__pyx_outer_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("edit_f", 0);
__pyx_outer_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_8_make_granulate *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.make_granulate.edit_f", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_EDITCALLBACK); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3830, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
/* … */
__pyx_tuple__41 = PyTuple_Pack(1, __pyx_n_s_gen); if (unlikely(!__pyx_tuple__41)) __PYX_ERR(0, 3830, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__41);
__Pyx_GIVEREF(__pyx_tuple__41);
__pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_14make_granulate_3edit_f, 0, __pyx_n_s_make_granulate_locals_edit_f, ((PyObject*)__pyx_cur_scope), __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__42)); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3830, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_13 = NULL;
__pyx_t_10 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) {
__pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12);
if (likely(__pyx_t_13)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
__Pyx_INCREF(__pyx_t_13);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_12, function);
__pyx_t_10 = 1;
}
}
{
PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_11};
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10);
__Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3830, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
}
__pyx_v_edit_f = __pyx_t_2;
__pyx_t_2 = 0;
__pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_edit_f, 3830, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) __PYX_ERR(0, 3830, __pyx_L1_error)
3831: def edit_f(gen):
+3832: return edit(res)
__Pyx_XDECREF(__pyx_r); if (unlikely(!__pyx_cur_scope->__pyx_v_edit)) { __Pyx_RaiseClosureNameError("edit"); __PYX_ERR(0, 3832, __pyx_L1_error) } if (unlikely(!__pyx_cur_scope->__pyx_v_res)) { __Pyx_RaiseClosureNameError("res"); __PYX_ERR(0, 3832, __pyx_L1_error) } __Pyx_INCREF(__pyx_cur_scope->__pyx_v_edit); __pyx_t_2 = __pyx_cur_scope->__pyx_v_edit; __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_cur_scope->__pyx_v_res)}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3832, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
3833:
+3834: cy_edit_f_ptr = (<cclm.edit_cb*><size_t>ctypes.addressof(edit_f))[0]
__Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_addressof); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); __pyx_t_10 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_v_edit_f}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } __pyx_t_14 = __Pyx_PyInt_As_size_t(__pyx_t_2); if (unlikely((__pyx_t_14 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 3834, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_cy_edit_f_ptr = (((edit_cb *)((size_t)__pyx_t_14))[0]);
+3835: cclm.mus_granulate_set_edit_function(res._ptr, cy_edit_f_ptr)
mus_granulate_set_edit_function(__pyx_cur_scope->__pyx_v_res->_ptr, __pyx_v_cy_edit_f_ptr);
+3836: res._editcallback = cy_edit_f_ptr
__pyx_cur_scope->__pyx_v_res->_editcallback = __pyx_v_cy_edit_f_ptr;
+3837: res.cache_append(edit_f)
__pyx_t_2 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_cur_scope->__pyx_v_res->__pyx_vtab)->cache_append(__pyx_cur_scope->__pyx_v_res, __pyx_v_edit_f, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3837, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3838:
+3839: return res
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_res); __pyx_r = ((PyObject *)__pyx_cur_scope->__pyx_v_res); goto __pyx_L0;
3840:
3841: #todo: mus_granulate_grain_max_length
+3842: cpdef cython.double granulate(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_551granulate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_granulate(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("granulate", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_551granulate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_550granulate, "\n next sample from granular synthesis generator\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_551granulate = {"granulate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_551granulate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_550granulate};
static PyObject *__pyx_pw_8pysndlib_3clm_551granulate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("granulate (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3842, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "granulate") < 0)) __PYX_ERR(0, 3842, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("granulate", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3842, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.granulate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3842, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_550granulate(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_550granulate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("granulate", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_granulate(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3842, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3842, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.granulate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3842, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3842, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_551granulate, 0, __pyx_n_s_granulate, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__525)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3842, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_granulate, __pyx_t_37) < 0) __PYX_ERR(0, 3842, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__525 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_granulate, 3842, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__525)) __PYX_ERR(0, 3842, __pyx_L1_error)
3843: """
3844: next sample from granular synthesis generator
3845: """
+3846: if gen._editcallback is not NULL:
__pyx_t_1 = (__pyx_v_gen->_editcallback != NULL);
if (__pyx_t_1) {
/* … */
}
+3847: return cclm.mus_granulate_with_editor(gen._ptr, <cclm.input_cb>gen._inputcallback, <cclm.edit_cb>gen._editcallback)
__pyx_r = mus_granulate_with_editor(__pyx_v_gen->_ptr, ((input_cb)__pyx_v_gen->_inputcallback), ((edit_cb)__pyx_v_gen->_editcallback));
goto __pyx_L0;
3848: else:
+3849: return cclm.mus_granulate(gen._ptr, <cclm.input_cb>gen._inputcallback)
/*else*/ {
__pyx_r = mus_granulate(__pyx_v_gen->_ptr, ((input_cb)__pyx_v_gen->_inputcallback));
goto __pyx_L0;
}
3850:
3851:
+3852: cpdef bint is_granulate(e: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_553is_granulate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_granulate(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_e, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_granulate", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_553is_granulate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_552is_granulate, "\n returns true if gen is a granulate\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_553is_granulate = {"is_granulate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_553is_granulate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_552is_granulate};
static PyObject *__pyx_pw_8pysndlib_3clm_553is_granulate(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_e = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_granulate (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_e,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_e)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3852, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_granulate") < 0)) __PYX_ERR(0, 3852, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_e = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_granulate", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3852, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_granulate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_e), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "e", 0))) __PYX_ERR(0, 3852, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_552is_granulate(__pyx_self, __pyx_v_e);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_552is_granulate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_e) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_granulate", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_granulate(__pyx_v_e, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3852, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3852, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_granulate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__526 = PyTuple_Pack(1, __pyx_n_s_e); if (unlikely(!__pyx_tuple__526)) __PYX_ERR(0, 3852, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__526);
__Pyx_GIVEREF(__pyx_tuple__526);
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3852, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_e, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3852, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_553is_granulate, 0, __pyx_n_s_is_granulate, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__527)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3852, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_granulate, __pyx_t_41) < 0) __PYX_ERR(0, 3852, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__527 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__526, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_granulate, 3852, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__527)) __PYX_ERR(0, 3852, __pyx_L1_error)
3853: """
3854: returns true if gen is a granulate
3855: :param gen: gen
3856: :return: result
3857: :rtype: bool
3858: """
+3859: return cclm.mus_is_granulate(e._ptr)
__pyx_r = mus_is_granulate(__pyx_v_e->_ptr); goto __pyx_L0;
3860:
3861: #--------------- phase-vocoder ----------------#
+3862: def make_phase_vocoder(inp,
/* Python wrapper */ static PyObject *__pyx_pw_8pysndlib_3clm_555make_phase_vocoder(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_554make_phase_vocoder, "return a new phase-vocoder generator; input is the input function (it can be set at run-time), analyze, edit,\n and synthesize are either None or functions that replace the default innards of the generator, fft_size, overlap\n and interp set the fft_size, the amount of overlap between ffts, and the time between new analysis calls.\n 'analyze', if given, takes 2 args, the generator and the input function; if it returns true, the default analysis \n code is also called. 'edit', if given, takes 1 arg, the generator; if it returns true, the default edit code \n is run. 'synthesize' is a function of 1 arg, the generator; it is called to get the current vocoder \n output."); static PyMethodDef __pyx_mdef_8pysndlib_3clm_555make_phase_vocoder = {"make_phase_vocoder", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_555make_phase_vocoder, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_554make_phase_vocoder}; static PyObject *__pyx_pw_8pysndlib_3clm_555make_phase_vocoder(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ) { PyObject *__pyx_v_inp = 0; PyObject *__pyx_v_fft_size = 0; PyObject *__pyx_v_overlap = 0; PyObject *__pyx_v_interp = 0; PyObject *__pyx_v_pitch = 0; PyObject *__pyx_v_analyze = 0; PyObject *__pyx_v_edit = 0; PyObject *__pyx_v_synthesize = 0; #if !CYTHON_METH_FASTCALL CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); #endif CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_phase_vocoder (wrapper)", 0); { PyObject **__pyx_pyargnames[] = {&__pyx_n_s_inp,&__pyx_n_s_fft_size,&__pyx_n_s_overlap,&__pyx_n_s_interp,&__pyx_n_s_pitch,&__pyx_n_s_analyze,&__pyx_n_s_edit,&__pyx_n_s_synthesize,0}; PyObject* values[8] = {0,0,0,0,0,0,0,0}; values[1] = ((PyObject *)((PyObject *)__pyx_int_512)); values[2] = ((PyObject *)((PyObject *)__pyx_int_4)); values[3] = ((PyObject *)((PyObject *)__pyx_int_128)); values[4] = ((PyObject *)((PyObject*)__pyx_float_1_0)); /* … */ /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ static PyObject *__pyx_pf_8pysndlib_3clm_554make_phase_vocoder(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_inp, PyObject *__pyx_v_fft_size, PyObject *__pyx_v_overlap, PyObject *__pyx_v_interp, PyObject *__pyx_v_pitch, PyObject *__pyx_v_analyze, PyObject *__pyx_v_edit, PyObject *__pyx_v_synthesize) { struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_9_make_phase_vocoder *__pyx_cur_scope; input_cb __pyx_v_cy_inp_f_ptr; edit_cb __pyx_v_cy_edit_f_ptr; analyze_cb __pyx_v_cy_analyze_f_ptr; synthesize_cb __pyx_v_cy_synthesize_f_ptr; PyObject *__pyx_v_inp_f = 0; PyObject *__pyx_v_edit_f = 0; PyObject *__pyx_v_analyze_f = 0; PyObject *__pyx_v_synthesize_f = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_phase_vocoder", 0); __pyx_cur_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_9_make_phase_vocoder *)__pyx_tp_new_8pysndlib_3clm___pyx_scope_struct_9_make_phase_vocoder(__pyx_ptype_8pysndlib_3clm___pyx_scope_struct_9_make_phase_vocoder, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_cur_scope)) { __pyx_cur_scope = ((struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_9_make_phase_vocoder *)Py_None); __Pyx_INCREF(Py_None); __PYX_ERR(0, 3862, __pyx_L1_error) } else { __Pyx_GOTREF((PyObject *)__pyx_cur_scope); } __pyx_cur_scope->__pyx_v_inp = __pyx_v_inp; __Pyx_INCREF(__pyx_cur_scope->__pyx_v_inp); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_inp); __pyx_cur_scope->__pyx_v_analyze = __pyx_v_analyze; __Pyx_INCREF(__pyx_cur_scope->__pyx_v_analyze); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_analyze); __pyx_cur_scope->__pyx_v_edit = __pyx_v_edit; __Pyx_INCREF(__pyx_cur_scope->__pyx_v_edit); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_edit); __pyx_cur_scope->__pyx_v_synthesize = __pyx_v_synthesize; __Pyx_INCREF(__pyx_cur_scope->__pyx_v_synthesize); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_synthesize); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_11); __Pyx_XDECREF(__pyx_t_12); __Pyx_AddTraceback("pysndlib.clm.make_phase_vocoder", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_inp_f); __Pyx_XDECREF(__pyx_v_edit_f); __Pyx_XDECREF(__pyx_v_analyze_f); __Pyx_XDECREF(__pyx_v_synthesize_f); __Pyx_DECREF((PyObject *)__pyx_cur_scope); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ __pyx_tuple__528 = PyTuple_Pack(21, __pyx_n_s_inp, __pyx_n_s_fft_size, __pyx_n_s_overlap, __pyx_n_s_interp, __pyx_n_s_pitch, __pyx_n_s_analyze, __pyx_n_s_edit, __pyx_n_s_synthesize, __pyx_n_s_cy_inp_f_ptr, __pyx_n_s_cy_edit_f_ptr, __pyx_n_s_cy_analyze_f_ptr, __pyx_n_s_cy_synthesize_f_ptr, __pyx_n_s_res, __pyx_n_s_inp_f, __pyx_n_s_inp_f, __pyx_n_s_edit_f, __pyx_n_s_edit_f, __pyx_n_s_analyze_f, __pyx_n_s_analyze_f, __pyx_n_s_synthesize_f, __pyx_n_s_synthesize_f); if (unlikely(!__pyx_tuple__528)) __PYX_ERR(0, 3862, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__528); __Pyx_GIVEREF(__pyx_tuple__528); __pyx_codeobj__529 = (PyObject*)__Pyx_PyCode_New(8, 0, 0, 21, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__528, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_phase_vocoder, 3862, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__529)) __PYX_ERR(0, 3862, __pyx_L1_error) /* … */ __pyx_t_41 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3862, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_fft_size, __pyx_kp_s_oOptionalptional_int) < 0) __PYX_ERR(0, 3862, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_overlap, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 3862, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_interp, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 3862, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_pitch, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 3862, __pyx_L1_error) __pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_555make_phase_vocoder, 0, __pyx_n_s_make_phase_vocoder, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__529)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3862, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__530); __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41); __Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_phase_vocoder, __pyx_t_37) < 0) __PYX_ERR(0, 3862, __pyx_L1_error) __Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0; __pyx_tuple__530 = PyTuple_Pack(7, ((PyObject *)__pyx_int_512), ((PyObject *)__pyx_int_4), ((PyObject *)__pyx_int_128), ((PyObject*)__pyx_float_1_0), ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__530)) __PYX_ERR(0, 3862, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__530); __Pyx_GIVEREF(__pyx_tuple__530); /* … */ struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_9_make_phase_vocoder { PyObject_HEAD PyObject *__pyx_v_analyze; PyObject *__pyx_v_edit; PyObject *__pyx_v_inp; struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_res; PyObject *__pyx_v_synthesize; };
3863: fft_size: oOptionalptional[int]=512,
3864: overlap: Optional[int]=4,
3865: interp: Optional[int]=128,
3866: pitch: Optional[cython.double]=1.0,
+3867: analyze=None,
values[5] = ((PyObject *)((PyObject *)Py_None));
+3868: edit=None,
values[6] = ((PyObject *)((PyObject *)Py_None));
+3869: synthesize=None):
values[7] = ((PyObject *)((PyObject *)Py_None));
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 8: values[7] = __Pyx_Arg_FASTCALL(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_inp)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3862, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fft_size);
if (value) { values[1] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3862, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_overlap);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3862, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_interp);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3862, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pitch);
if (value) { values[4] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3862, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_analyze);
if (value) { values[5] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3862, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_edit);
if (value) { values[6] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3862, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 7:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_synthesize);
if (value) { values[7] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3862, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_phase_vocoder") < 0)) __PYX_ERR(0, 3862, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 8: values[7] = __Pyx_Arg_FASTCALL(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_inp = values[0];
__pyx_v_fft_size = values[1];
__pyx_v_overlap = values[2];
__pyx_v_interp = values[3];
__pyx_v_pitch = values[4];
__pyx_v_analyze = values[5];
__pyx_v_edit = values[6];
__pyx_v_synthesize = values[7];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_phase_vocoder", 0, 1, 8, __pyx_nargs); __PYX_ERR(0, 3862, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_phase_vocoder", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_554make_phase_vocoder(__pyx_self, __pyx_v_inp, __pyx_v_fft_size, __pyx_v_overlap, __pyx_v_interp, __pyx_v_pitch, __pyx_v_analyze, __pyx_v_edit, __pyx_v_synthesize);
3870:
3871: """return a new phase-vocoder generator; input is the input function (it can be set at run-time), analyze, edit,
3872: and synthesize are either None or functions that replace the default innards of the generator, fft_size, overlap
3873: and interp set the fft_size, the amount of overlap between ffts, and the time between new analysis calls.
3874: 'analyze', if given, takes 2 args, the generator and the input function; if it returns true, the default analysis
3875: code is also called. 'edit', if given, takes 1 arg, the generator; if it returns true, the default edit code
3876: is run. 'synthesize' is a function of 1 arg, the generator; it is called to get the current vocoder
3877: output."""
3878:
3879: cdef cclm.input_cb cy_inp_f_ptr
3880: cdef cclm.edit_cb cy_edit_f_ptr
3881: cdef cclm.analyze_cb cy_analyze_f_ptr
3882: cdef cclm.synthesize_cb cy_synthesize_f_ptr
3883:
+3884: if fft_size <= 1:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_fft_size, __pyx_int_1, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3884, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3884, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(__pyx_t_2)) { /* … */ }
+3885: raise ValueError(f'fft_size must be a positive number greater than 1 not {fft_size}')
__pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_v_fft_size, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_fft_size_must_be_a_positive_numb_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(0, 3885, __pyx_L1_error)
3886:
+3887: if fft_size > csndlib.mus_max_malloc():
__pyx_t_1 = __Pyx_PyInt_From_mus_long_t(mus_max_malloc()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyObject_RichCompare(__pyx_v_fft_size, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3887, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3887, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(__pyx_t_2)) { /* … */ }
+3888: raise ValueError(f'fft_size too large. cannot allocate {fft_size} size fft')
__pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3888, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = 0; __pyx_t_5 = 127; __Pyx_INCREF(__pyx_kp_u_fft_size_too_large_cannot_alloca); __pyx_t_4 += 36; __Pyx_GIVEREF(__pyx_kp_u_fft_size_too_large_cannot_alloca); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_u_fft_size_too_large_cannot_alloca); __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_v_fft_size, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3888, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_5; __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1); __pyx_t_1 = 0; __Pyx_INCREF(__pyx_kp_u_size_fft); __pyx_t_4 += 9; __Pyx_GIVEREF(__pyx_kp_u_size_fft); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_u_size_fft); __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3888, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3888, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(0, 3888, __pyx_L1_error)
3889:
+3890: if not is_power_of_2(fft_size):
__pyx_t_3 = __pyx_f_8pysndlib_3clm_is_power_of_2(__pyx_v_fft_size, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3890, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 3890, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = (!__pyx_t_2); if (unlikely(__pyx_t_6)) { /* … */ }
+3891: raise ValueError(f'fft_size must be power of 2 not {fft_size}')
__pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_v_fft_size, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3891, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_fft_size_must_be_power_of_2_not, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3891, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3891, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(0, 3891, __pyx_L1_error)
3892:
+3893: if(isinstance(inp, mus_any)):
__pyx_t_3 = __pyx_cur_scope->__pyx_v_inp; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = __Pyx_TypeCheck(__pyx_t_3, __pyx_ptype_8pysndlib_3clm_mus_any); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { /* … */ goto __pyx_L6; }
+3894: res = mus_any.from_ptr(cclm.mus_make_phase_vocoder(<cclm.input_cb>input_callback_func, fft_size, overlap, interp, pitch, NULL, NULL, NULL, <void*>(<mus_any>inp)._ptr))
__pyx_t_7 = __Pyx_PyInt_As_int(__pyx_v_fft_size); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3894, __pyx_L1_error) __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_v_overlap); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3894, __pyx_L1_error) __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_v_interp); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3894, __pyx_L1_error) __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_v_pitch); if (unlikely((__pyx_t_10 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3894, __pyx_L1_error) __pyx_t_3 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_phase_vocoder(((input_cb)__pyx_f_8pysndlib_3clm_input_callback_func), __pyx_t_7, __pyx_t_8, __pyx_t_9, __pyx_t_10, NULL, NULL, NULL, ((void *)((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_cur_scope->__pyx_v_inp)->_ptr)), NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_cur_scope->__pyx_v_res = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_3); __pyx_t_3 = 0;
+3895: res._inputcallback = <cclm.input_cb>input_callback_func
__pyx_cur_scope->__pyx_v_res->_inputcallback = ((input_cb)__pyx_f_8pysndlib_3clm_input_callback_func);
+3896: res.cache_append(inp)
__pyx_t_3 = __pyx_cur_scope->__pyx_v_inp;
__Pyx_INCREF(__pyx_t_3);
__pyx_t_1 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_cur_scope->__pyx_v_res->__pyx_vtab)->cache_append(__pyx_cur_scope->__pyx_v_res, __pyx_t_3, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3896, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3897: elif callable(inp):
__pyx_t_1 = __pyx_cur_scope->__pyx_v_inp; __Pyx_INCREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyCallable_Check(__pyx_t_1); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 3897, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (likely(__pyx_t_6)) { /* … */ goto __pyx_L6; }
+3898: @INPUTCALLBACK
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_18make_phase_vocoder_1inp_f(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_18make_phase_vocoder_1inp_f = {"inp_f", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_18make_phase_vocoder_1inp_f, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_18make_phase_vocoder_1inp_f(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED PyObject *__pyx_v_gen = 0;
PyObject *__pyx_v_d = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("inp_f (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_d,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3898, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3898, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("inp_f", 1, 2, 2, 1); __PYX_ERR(0, 3898, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "inp_f") < 0)) __PYX_ERR(0, 3898, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = values[0];
__pyx_v_d = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("inp_f", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3898, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_phase_vocoder.inp_f", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_18make_phase_vocoder_inp_f(__pyx_self, __pyx_v_gen, __pyx_v_d);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_18make_phase_vocoder_inp_f(PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_gen, PyObject *__pyx_v_d) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_9_make_phase_vocoder *__pyx_cur_scope;
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_9_make_phase_vocoder *__pyx_outer_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("inp_f", 0);
__pyx_outer_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_9_make_phase_vocoder *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.make_phase_vocoder.inp_f", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_INPUTCALLBACK); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3898, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_18make_phase_vocoder_1inp_f, 0, __pyx_n_s_make_phase_vocoder_locals_inp_f, ((PyObject*)__pyx_cur_scope), __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__43)); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3898, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_12 = NULL;
__pyx_t_9 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_12)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_12);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_9 = 1;
}
}
{
PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_11};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
__Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3898, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__pyx_v_inp_f = __pyx_t_1;
__pyx_t_1 = 0;
/* … */
__pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_inp_f, 3898, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) __PYX_ERR(0, 3898, __pyx_L1_error)
3899: def inp_f(gen, d):
+3900: return inp(d)
__Pyx_XDECREF(__pyx_r); if (unlikely(!__pyx_cur_scope->__pyx_v_inp)) { __Pyx_RaiseClosureNameError("inp"); __PYX_ERR(0, 3900, __pyx_L1_error) } __Pyx_INCREF(__pyx_cur_scope->__pyx_v_inp); __pyx_t_2 = __pyx_cur_scope->__pyx_v_inp; __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_d}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3900, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
+3901: cy_inp_f_ptr = (<cclm.input_cb*><size_t>ctypes.addressof(inp_f))[0]
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3901, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_addressof); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3901, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; __pyx_t_9 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); __pyx_t_9 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_inp_f}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3901, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } __pyx_t_13 = __Pyx_PyInt_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_13 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 3901, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_cy_inp_f_ptr = (((input_cb *)((size_t)__pyx_t_13))[0]);
+3902: res = mus_any.from_ptr(cclm.mus_make_phase_vocoder(cy_inp_f_ptr, fft_size, overlap, interp, pitch, NULL, NULL, NULL, NULL))
__pyx_t_9 = __Pyx_PyInt_As_int(__pyx_v_fft_size); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3902, __pyx_L1_error) __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_v_overlap); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3902, __pyx_L1_error) __pyx_t_7 = __Pyx_PyInt_As_int(__pyx_v_interp); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3902, __pyx_L1_error) __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_v_pitch); if (unlikely((__pyx_t_10 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3902, __pyx_L1_error) __pyx_t_1 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_phase_vocoder(__pyx_v_cy_inp_f_ptr, __pyx_t_9, __pyx_t_8, __pyx_t_7, __pyx_t_10, NULL, NULL, NULL, NULL), NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_cur_scope->__pyx_v_res = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_1); __pyx_t_1 = 0;
+3903: res._inputcallback = cy_inp_f_ptr
__pyx_cur_scope->__pyx_v_res->_inputcallback = __pyx_v_cy_inp_f_ptr;
+3904: res.cache_append(inp_f)
__pyx_t_1 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_cur_scope->__pyx_v_res->__pyx_vtab)->cache_append(__pyx_cur_scope->__pyx_v_res, __pyx_v_inp_f, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3904, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3905:
3906: else:
+3907: raise TypeError(f"input needs to be a clm gen or a callable not a {type(inp)}")
/*else*/ {
__pyx_t_1 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_inp)), __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3907, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_11 = __Pyx_PyUnicode_Concat(__pyx_kp_u_input_needs_to_be_a_clm_gen_or_a, __pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3907, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3907, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__PYX_ERR(0, 3907, __pyx_L1_error)
}
__pyx_L6:;
3908:
+3909: if(edit is not None):
__pyx_t_6 = (__pyx_cur_scope->__pyx_v_edit != Py_None);
if (__pyx_t_6) {
/* … */
}
+3910: @EDITCALLBACK
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_18make_phase_vocoder_3edit_f(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_18make_phase_vocoder_3edit_f = {"edit_f", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_18make_phase_vocoder_3edit_f, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_18make_phase_vocoder_3edit_f(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED PyObject *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("edit_f (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3910, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "edit_f") < 0)) __PYX_ERR(0, 3910, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("edit_f", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3910, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_phase_vocoder.edit_f", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_18make_phase_vocoder_2edit_f(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_18make_phase_vocoder_2edit_f(PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_gen) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_9_make_phase_vocoder *__pyx_cur_scope;
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_9_make_phase_vocoder *__pyx_outer_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("edit_f", 0);
__pyx_outer_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_9_make_phase_vocoder *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.make_phase_vocoder.edit_f", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_EDITCALLBACK); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3910, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_18make_phase_vocoder_3edit_f, 0, __pyx_n_s_make_phase_vocoder_locals_edit_f, ((PyObject*)__pyx_cur_scope), __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__44)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3910, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_12 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) {
__pyx_t_12 = PyMethod_GET_SELF(__pyx_t_11);
if (likely(__pyx_t_12)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
__Pyx_INCREF(__pyx_t_12);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_11, function);
__pyx_t_7 = 1;
}
}
{
PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_3};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
__Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3910, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
}
__pyx_v_edit_f = __pyx_t_1;
__pyx_t_1 = 0;
/* … */
__pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_edit_f, 3910, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) __PYX_ERR(0, 3910, __pyx_L1_error)
3911: def edit_f(gen):
+3912: return edit(res)
__Pyx_XDECREF(__pyx_r); if (unlikely(!__pyx_cur_scope->__pyx_v_edit)) { __Pyx_RaiseClosureNameError("edit"); __PYX_ERR(0, 3912, __pyx_L1_error) } if (unlikely(!__pyx_cur_scope->__pyx_v_res)) { __Pyx_RaiseClosureNameError("res"); __PYX_ERR(0, 3912, __pyx_L1_error) } __Pyx_INCREF(__pyx_cur_scope->__pyx_v_edit); __pyx_t_2 = __pyx_cur_scope->__pyx_v_edit; __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_cur_scope->__pyx_v_res)}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
+3913: cy_edit_f_ptr = (<cclm.edit_cb*><size_t>ctypes.addressof(edit_f))[0]
__Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_addressof); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_v_edit_f}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_t_13 = __Pyx_PyInt_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_13 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 3913, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_cy_edit_f_ptr = (((edit_cb *)((size_t)__pyx_t_13))[0]);
+3914: res._editcallback = cy_edit_f_ptr
__pyx_cur_scope->__pyx_v_res->_editcallback = __pyx_v_cy_edit_f_ptr;
+3915: res.cache_append(edit_f)
__pyx_t_1 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_cur_scope->__pyx_v_res->__pyx_vtab)->cache_append(__pyx_cur_scope->__pyx_v_res, __pyx_v_edit_f, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3915, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3916:
+3917: if (analyze is not None):
__pyx_t_6 = (__pyx_cur_scope->__pyx_v_analyze != Py_None);
if (__pyx_t_6) {
/* … */
}
+3918: @ANALYZECALLBACK
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_18make_phase_vocoder_5analyze_f(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_18make_phase_vocoder_5analyze_f = {"analyze_f", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_18make_phase_vocoder_5analyze_f, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_18make_phase_vocoder_5analyze_f(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED PyObject *__pyx_v_gen = 0;
CYTHON_UNUSED PyObject *__pyx_v_func = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("analyze_f (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_func,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3918, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_func)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3918, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("analyze_f", 1, 2, 2, 1); __PYX_ERR(0, 3918, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "analyze_f") < 0)) __PYX_ERR(0, 3918, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = values[0];
__pyx_v_func = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("analyze_f", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 3918, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_phase_vocoder.analyze_f", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_18make_phase_vocoder_4analyze_f(__pyx_self, __pyx_v_gen, __pyx_v_func);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_18make_phase_vocoder_4analyze_f(PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_gen, CYTHON_UNUSED PyObject *__pyx_v_func) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_9_make_phase_vocoder *__pyx_cur_scope;
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_9_make_phase_vocoder *__pyx_outer_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("analyze_f", 0);
__pyx_outer_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_9_make_phase_vocoder *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.make_phase_vocoder.analyze_f", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ANALYZECALLBACK); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3918, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
/* … */
__pyx_tuple__45 = PyTuple_Pack(2, __pyx_n_s_gen, __pyx_n_s_func); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 3918, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__45);
__Pyx_GIVEREF(__pyx_tuple__45);
__pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_18make_phase_vocoder_5analyze_f, 0, __pyx_n_s_make_phase_vocoder_locals_analyz, ((PyObject*)__pyx_cur_scope), __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__46)); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3918, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_12 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_12)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_12);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_7 = 1;
}
}
{
PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_11};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
__Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3918, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__pyx_v_analyze_f = __pyx_t_1;
__pyx_t_1 = 0;
__pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_analyze_f, 3918, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) __PYX_ERR(0, 3918, __pyx_L1_error)
3919: def analyze_f(gen, func):
+3920: return analyze(res, inp)
__Pyx_XDECREF(__pyx_r); if (unlikely(!__pyx_cur_scope->__pyx_v_analyze)) { __Pyx_RaiseClosureNameError("analyze"); __PYX_ERR(0, 3920, __pyx_L1_error) } if (unlikely(!__pyx_cur_scope->__pyx_v_res)) { __Pyx_RaiseClosureNameError("res"); __PYX_ERR(0, 3920, __pyx_L1_error) } if (unlikely(!__pyx_cur_scope->__pyx_v_inp)) { __Pyx_RaiseClosureNameError("inp"); __PYX_ERR(0, 3920, __pyx_L1_error) } __Pyx_INCREF(__pyx_cur_scope->__pyx_v_analyze); __pyx_t_2 = __pyx_cur_scope->__pyx_v_analyze; __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[3] = {__pyx_t_3, ((PyObject *)__pyx_cur_scope->__pyx_v_res), __pyx_cur_scope->__pyx_v_inp}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3920, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
+3921: cy_analyze_f_ptr = (<cclm.analyze_cb*><size_t>ctypes.addressof(analyze_f))[0]
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_addressof); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_analyze_f}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } __pyx_t_13 = __Pyx_PyInt_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_13 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 3921, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_cy_analyze_f_ptr = (((analyze_cb *)((size_t)__pyx_t_13))[0]);
+3922: res._analyzecallback = cy_analyze_f_ptr
__pyx_cur_scope->__pyx_v_res->_analyzecallback = __pyx_v_cy_analyze_f_ptr;
+3923: res.cache_append(analyze_f)
__pyx_t_1 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_cur_scope->__pyx_v_res->__pyx_vtab)->cache_append(__pyx_cur_scope->__pyx_v_res, __pyx_v_analyze_f, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3923, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3924:
+3925: if (synthesize is not None):
__pyx_t_6 = (__pyx_cur_scope->__pyx_v_synthesize != Py_None);
if (__pyx_t_6) {
/* … */
}
+3926: @SYNTHESIZECALLBACK
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_18make_phase_vocoder_7synthesize_f(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_18make_phase_vocoder_7synthesize_f = {"synthesize_f", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_18make_phase_vocoder_7synthesize_f, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_18make_phase_vocoder_7synthesize_f(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
CYTHON_UNUSED PyObject *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("synthesize_f (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3926, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "synthesize_f") < 0)) __PYX_ERR(0, 3926, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("synthesize_f", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3926, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_phase_vocoder.synthesize_f", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_18make_phase_vocoder_6synthesize_f(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_18make_phase_vocoder_6synthesize_f(PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_gen) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_9_make_phase_vocoder *__pyx_cur_scope;
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_9_make_phase_vocoder *__pyx_outer_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("synthesize_f", 0);
__pyx_outer_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_9_make_phase_vocoder *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.make_phase_vocoder.synthesize_f", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_SYNTHESIZECALLBACK); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3926, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_18make_phase_vocoder_7synthesize_f, 0, __pyx_n_s_make_phase_vocoder_locals_synthe, ((PyObject*)__pyx_cur_scope), __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__47)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3926, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_12 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) {
__pyx_t_12 = PyMethod_GET_SELF(__pyx_t_11);
if (likely(__pyx_t_12)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
__Pyx_INCREF(__pyx_t_12);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_11, function);
__pyx_t_7 = 1;
}
}
{
PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_3};
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
__Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3926, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
}
__pyx_v_synthesize_f = __pyx_t_1;
__pyx_t_1 = 0;
/* … */
__pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_synthesize_f, 3926, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) __PYX_ERR(0, 3926, __pyx_L1_error)
3927: def synthesize_f(gen):
+3928: return synthesize(res)
__Pyx_XDECREF(__pyx_r); if (unlikely(!__pyx_cur_scope->__pyx_v_synthesize)) { __Pyx_RaiseClosureNameError("synthesize"); __PYX_ERR(0, 3928, __pyx_L1_error) } if (unlikely(!__pyx_cur_scope->__pyx_v_res)) { __Pyx_RaiseClosureNameError("res"); __PYX_ERR(0, 3928, __pyx_L1_error) } __Pyx_INCREF(__pyx_cur_scope->__pyx_v_synthesize); __pyx_t_2 = __pyx_cur_scope->__pyx_v_synthesize; __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_cur_scope->__pyx_v_res)}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3928, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
+3929: cy_synthesize_f_ptr = (<cclm.synthesize_cb*><size_t>ctypes.addressof(synthesize_f))[0]
__Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_ctypes); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3929, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_addressof); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3929, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_7 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_v_synthesize_f}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3929, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_t_13 = __Pyx_PyInt_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_13 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 3929, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_cy_synthesize_f_ptr = (((synthesize_cb *)((size_t)__pyx_t_13))[0]);
+3930: res._synthesizecallback = cy_synthesize_f_ptr
__pyx_cur_scope->__pyx_v_res->_synthesizecallback = __pyx_v_cy_synthesize_f_ptr;
+3931: res.cache_append(synthesize_f)
__pyx_t_1 = ((struct __pyx_vtabstruct_8pysndlib_3clm_mus_any *)__pyx_cur_scope->__pyx_v_res->__pyx_vtab)->cache_append(__pyx_cur_scope->__pyx_v_res, __pyx_v_synthesize_f, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3932:
+3933: return res
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_res); __pyx_r = ((PyObject *)__pyx_cur_scope->__pyx_v_res); goto __pyx_L0;
3934:
3935:
+3936: cpdef cython.double phase_vocoder(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_557phase_vocoder(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_phase_vocoder(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("phase_vocoder", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_557phase_vocoder(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_556phase_vocoder, "\n next phase vocoder value\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_557phase_vocoder = {"phase_vocoder", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_557phase_vocoder, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_556phase_vocoder};
static PyObject *__pyx_pw_8pysndlib_3clm_557phase_vocoder(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("phase_vocoder (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3936, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "phase_vocoder") < 0)) __PYX_ERR(0, 3936, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("phase_vocoder", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3936, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.phase_vocoder", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3936, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_556phase_vocoder(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_556phase_vocoder(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("phase_vocoder", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_phase_vocoder(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3936, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3936, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.phase_vocoder", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3936, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3936, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_557phase_vocoder, 0, __pyx_n_s_phase_vocoder, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__531)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3936, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_phase_vocoder, __pyx_t_41) < 0) __PYX_ERR(0, 3936, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__531 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_phase_vocoder, 3936, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__531)) __PYX_ERR(0, 3936, __pyx_L1_error)
3937: """
3938: next phase vocoder value
3939: """
+3940: if gen._analyzecallback or gen._synthesizecallback or gen._editcallback :
__pyx_t_2 = (__pyx_v_gen->_analyzecallback != 0);
if (!__pyx_t_2) {
} else {
__pyx_t_1 = __pyx_t_2;
goto __pyx_L4_bool_binop_done;
}
__pyx_t_2 = (__pyx_v_gen->_synthesizecallback != 0);
if (!__pyx_t_2) {
} else {
__pyx_t_1 = __pyx_t_2;
goto __pyx_L4_bool_binop_done;
}
__pyx_t_2 = (__pyx_v_gen->_editcallback != 0);
__pyx_t_1 = __pyx_t_2;
__pyx_L4_bool_binop_done:;
if (__pyx_t_1) {
/* … */
}
+3941: return cclm.mus_phase_vocoder_with_editors(gen._ptr, gen._inputcallback, gen._analyzecallback, gen._editcallback, gen._synthesizecallback)
__pyx_r = mus_phase_vocoder_with_editors(__pyx_v_gen->_ptr, __pyx_v_gen->_inputcallback, __pyx_v_gen->_analyzecallback, __pyx_v_gen->_editcallback, __pyx_v_gen->_synthesizecallback);
goto __pyx_L0;
3942: else:
+3943: return cclm.mus_phase_vocoder(gen._ptr, gen._inputcallback)
/*else*/ {
__pyx_r = mus_phase_vocoder(__pyx_v_gen->_ptr, __pyx_v_gen->_inputcallback);
goto __pyx_L0;
}
3944:
+3945: cpdef bint is_phase_vocoder(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_559is_phase_vocoder(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static int __pyx_f_8pysndlib_3clm_is_phase_vocoder(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
int __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_phase_vocoder", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_559is_phase_vocoder(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_558is_phase_vocoder, "\n returns true if gen is a phase_vocoder\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_559is_phase_vocoder = {"is_phase_vocoder", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_559is_phase_vocoder, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_558is_phase_vocoder};
static PyObject *__pyx_pw_8pysndlib_3clm_559is_phase_vocoder(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_phase_vocoder (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3945, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_phase_vocoder") < 0)) __PYX_ERR(0, 3945, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_phase_vocoder", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3945, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_phase_vocoder", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3945, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_558is_phase_vocoder(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_558is_phase_vocoder(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_phase_vocoder", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_phase_vocoder(__pyx_v_gen, 0); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3945, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3945, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.is_phase_vocoder", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3945, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3945, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_559is_phase_vocoder, 0, __pyx_n_s_is_phase_vocoder, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__532)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3945, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_phase_vocoder, __pyx_t_37) < 0) __PYX_ERR(0, 3945, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__532 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_phase_vocoder, 3945, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__532)) __PYX_ERR(0, 3945, __pyx_L1_error)
3946: """
3947: returns true if gen is a phase_vocoder
3948: :param gen: gen
3949: :return: result
3950: :rtype: bool
3951: """
+3952: return cclm.mus_is_phase_vocoder(gen._ptr)
__pyx_r = mus_is_phase_vocoder(__pyx_v_gen->_ptr); goto __pyx_L0;
3953:
3954:
+3955: cpdef np.ndarray phase_vocoder_amp_increments(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_561phase_vocoder_amp_increments(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyArrayObject *__pyx_f_8pysndlib_3clm_phase_vocoder_amp_increments(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyArrayObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("phase_vocoder_amp_increments", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_561phase_vocoder_amp_increments(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_560phase_vocoder_amp_increments, "\n returns a ndarray containing the current output sinusoid amplitude increments per sample\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_561phase_vocoder_amp_increments = {"phase_vocoder_amp_increments", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_561phase_vocoder_amp_increments, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_560phase_vocoder_amp_increments};
static PyObject *__pyx_pw_8pysndlib_3clm_561phase_vocoder_amp_increments(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("phase_vocoder_amp_increments (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3955, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "phase_vocoder_amp_increments") < 0)) __PYX_ERR(0, 3955, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("phase_vocoder_amp_increments", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3955, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.phase_vocoder_amp_increments", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3955, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_560phase_vocoder_amp_increments(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_560phase_vocoder_amp_increments(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("phase_vocoder_amp_increments", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_phase_vocoder_amp_increments(__pyx_v_gen, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3955, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.phase_vocoder_amp_increments", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3955, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3955, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_561phase_vocoder_amp_increments, 0, __pyx_n_s_phase_vocoder_amp_increments, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__533)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3955, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_phase_vocoder_amp_increments, __pyx_t_41) < 0) __PYX_ERR(0, 3955, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__533 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_phase_vocoder_amp_increments, 3955, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__533)) __PYX_ERR(0, 3955, __pyx_L1_error)
3956: """
3957: returns a ndarray containing the current output sinusoid amplitude increments per sample
3958: """
+3959: return gen._pv_amp_increments
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen->_pv_amp_increments); __pyx_r = __pyx_v_gen->_pv_amp_increments; goto __pyx_L0;
3960:
+3961: cpdef np.ndarray phase_vocoder_amps(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_563phase_vocoder_amps(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyArrayObject *__pyx_f_8pysndlib_3clm_phase_vocoder_amps(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyArrayObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("phase_vocoder_amps", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_563phase_vocoder_amps(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_562phase_vocoder_amps, "\n returns a ndarray containing the current output sinusoid amplitudes\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_563phase_vocoder_amps = {"phase_vocoder_amps", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_563phase_vocoder_amps, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_562phase_vocoder_amps};
static PyObject *__pyx_pw_8pysndlib_3clm_563phase_vocoder_amps(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("phase_vocoder_amps (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3961, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "phase_vocoder_amps") < 0)) __PYX_ERR(0, 3961, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("phase_vocoder_amps", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3961, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.phase_vocoder_amps", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3961, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_562phase_vocoder_amps(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_562phase_vocoder_amps(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("phase_vocoder_amps", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_phase_vocoder_amps(__pyx_v_gen, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3961, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.phase_vocoder_amps", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3961, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3961, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_563phase_vocoder_amps, 0, __pyx_n_s_phase_vocoder_amps, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__534)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3961, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_phase_vocoder_amps, __pyx_t_37) < 0) __PYX_ERR(0, 3961, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__534 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_phase_vocoder_amps, 3961, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__534)) __PYX_ERR(0, 3961, __pyx_L1_error)
3962: """
3963: returns a ndarray containing the current output sinusoid amplitudes
3964: """
+3965: return gen._pv_amps
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen->_pv_amps); __pyx_r = __pyx_v_gen->_pv_amps; goto __pyx_L0;
3966:
+3967: cpdef np.ndarray phase_vocoder_freqs(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_565phase_vocoder_freqs(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyArrayObject *__pyx_f_8pysndlib_3clm_phase_vocoder_freqs(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyArrayObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("phase_vocoder_freqs", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_565phase_vocoder_freqs(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_564phase_vocoder_freqs, "\n returns a ndarray containing the current output sinusoid frequencies\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_565phase_vocoder_freqs = {"phase_vocoder_freqs", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_565phase_vocoder_freqs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_564phase_vocoder_freqs};
static PyObject *__pyx_pw_8pysndlib_3clm_565phase_vocoder_freqs(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("phase_vocoder_freqs (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3967, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "phase_vocoder_freqs") < 0)) __PYX_ERR(0, 3967, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("phase_vocoder_freqs", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3967, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.phase_vocoder_freqs", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3967, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_564phase_vocoder_freqs(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_564phase_vocoder_freqs(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("phase_vocoder_freqs", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_phase_vocoder_freqs(__pyx_v_gen, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3967, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.phase_vocoder_freqs", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3967, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3967, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_565phase_vocoder_freqs, 0, __pyx_n_s_phase_vocoder_freqs, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__535)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3967, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_phase_vocoder_freqs, __pyx_t_41) < 0) __PYX_ERR(0, 3967, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__535 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_phase_vocoder_freqs, 3967, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__535)) __PYX_ERR(0, 3967, __pyx_L1_error)
3968: """
3969: returns a ndarray containing the current output sinusoid frequencies
3970: """
+3971: return gen._pv_freqs
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen->_pv_freqs); __pyx_r = __pyx_v_gen->_pv_freqs; goto __pyx_L0;
3972:
+3973: cpdef np.ndarray phase_vocoder_phases(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_567phase_vocoder_phases(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyArrayObject *__pyx_f_8pysndlib_3clm_phase_vocoder_phases(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyArrayObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("phase_vocoder_phases", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_567phase_vocoder_phases(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_566phase_vocoder_phases, "\n returns a ndarray containing the current output sinusoid phases\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_567phase_vocoder_phases = {"phase_vocoder_phases", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_567phase_vocoder_phases, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_566phase_vocoder_phases};
static PyObject *__pyx_pw_8pysndlib_3clm_567phase_vocoder_phases(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("phase_vocoder_phases (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3973, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "phase_vocoder_phases") < 0)) __PYX_ERR(0, 3973, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("phase_vocoder_phases", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3973, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.phase_vocoder_phases", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3973, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_566phase_vocoder_phases(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_566phase_vocoder_phases(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("phase_vocoder_phases", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_phase_vocoder_phases(__pyx_v_gen, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3973, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.phase_vocoder_phases", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3973, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3973, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_567phase_vocoder_phases, 0, __pyx_n_s_phase_vocoder_phases, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__536)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3973, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_phase_vocoder_phases, __pyx_t_37) < 0) __PYX_ERR(0, 3973, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__536 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_phase_vocoder_phases, 3973, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__536)) __PYX_ERR(0, 3973, __pyx_L1_error)
3974: """
3975: returns a ndarray containing the current output sinusoid phases
3976: """
+3977: return gen._pv_phases
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen->_pv_phases); __pyx_r = __pyx_v_gen->_pv_phases; goto __pyx_L0;
3978:
+3979: cpdef np.ndarray phase_vocoder_phase_increments(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_569phase_vocoder_phase_increments(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyArrayObject *__pyx_f_8pysndlib_3clm_phase_vocoder_phase_increments(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyArrayObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("phase_vocoder_phase_increments", 0);
/* … */
/* function exit code */
__pyx_L0:;
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_569phase_vocoder_phase_increments(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_568phase_vocoder_phase_increments, "\n returns a ndarray containing the current output sinusoid phase increments\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_569phase_vocoder_phase_increments = {"phase_vocoder_phase_increments", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_569phase_vocoder_phase_increments, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_568phase_vocoder_phase_increments};
static PyObject *__pyx_pw_8pysndlib_3clm_569phase_vocoder_phase_increments(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("phase_vocoder_phase_increments (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3979, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "phase_vocoder_phase_increments") < 0)) __PYX_ERR(0, 3979, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("phase_vocoder_phase_increments", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3979, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.phase_vocoder_phase_increments", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 3979, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_568phase_vocoder_phase_increments(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_568phase_vocoder_phase_increments(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("phase_vocoder_phase_increments", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_phase_vocoder_phase_increments(__pyx_v_gen, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3979, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.phase_vocoder_phase_increments", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3979, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 3979, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_569phase_vocoder_phase_increments, 0, __pyx_n_s_phase_vocoder_phase_increments, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__537)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3979, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_phase_vocoder_phase_increments, __pyx_t_41) < 0) __PYX_ERR(0, 3979, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__537 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_phase_vocoder_phase_increments, 3979, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__537)) __PYX_ERR(0, 3979, __pyx_L1_error)
3980: """
3981: returns a ndarray containing the current output sinusoid phase increments
3982: """
+3983: return gen._pv_phase_increments
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_gen->_pv_phase_increments); __pyx_r = __pyx_v_gen->_pv_phase_increments; goto __pyx_L0;
3984:
3985: # --------------- out-any ---------------- #
+3986: cpdef out_any(loc: int, data: float, channel, output):
static PyObject *__pyx_pw_8pysndlib_3clm_571out_any(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_out_any(PyObject *__pyx_v_loc, double __pyx_v_data, PyObject *__pyx_v_channel, PyObject *__pyx_v_output, CYTHON_UNUSED int __pyx_skip_dispatch) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_out = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("out_any", 0);
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("pysndlib.clm.out_any", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF((PyObject *)__pyx_v_out);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_571out_any(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_571out_any = {"out_any", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_571out_any, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_571out_any(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_loc = 0;
double __pyx_v_data;
PyObject *__pyx_v_channel = 0;
PyObject *__pyx_v_output = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("out_any (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_loc,&__pyx_n_s_data,&__pyx_n_s_channel,&__pyx_n_s_output,0};
PyObject* values[4] = {0,0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_loc)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3986, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_data)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3986, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("out_any", 1, 4, 4, 1); __PYX_ERR(0, 3986, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_channel)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3986, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("out_any", 1, 4, 4, 2); __PYX_ERR(0, 3986, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_output)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3986, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("out_any", 1, 4, 4, 3); __PYX_ERR(0, 3986, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "out_any") < 0)) __PYX_ERR(0, 3986, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 4)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
}
__pyx_v_loc = ((PyObject*)values[0]);
__pyx_v_data = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_data == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3986, __pyx_L3_error)
__pyx_v_channel = values[2];
__pyx_v_output = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("out_any", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 3986, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.out_any", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), (&PyInt_Type), 0, "loc", 1))) __PYX_ERR(0, 3986, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_570out_any(__pyx_self, __pyx_v_loc, __pyx_v_data, __pyx_v_channel, __pyx_v_output);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_570out_any(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_loc, double __pyx_v_data, PyObject *__pyx_v_channel, PyObject *__pyx_v_output) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("out_any", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_out_any(__pyx_v_loc, __pyx_v_data, __pyx_v_channel, __pyx_v_output, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3986, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.out_any", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__538 = PyTuple_Pack(4, __pyx_n_s_loc, __pyx_n_s_data, __pyx_n_s_channel, __pyx_n_s_output); if (unlikely(!__pyx_tuple__538)) __PYX_ERR(0, 3986, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__538);
__Pyx_GIVEREF(__pyx_tuple__538);
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3986, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_loc, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 3986, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_data, __pyx_n_s_float) < 0) __PYX_ERR(0, 3986, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_571out_any, 0, __pyx_n_s_out_any, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__539)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3986, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_out_any, __pyx_t_37) < 0) __PYX_ERR(0, 3986, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__539 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__538, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_out_any, 3986, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__539)) __PYX_ERR(0, 3986, __pyx_L1_error)
+3987: if isinstance(output, np.ndarray):
__pyx_t_1 = __Pyx_TypeCheck(__pyx_v_output, __pyx_ptype_5numpy_ndarray);
if (__pyx_t_1) {
/* … */
goto __pyx_L3;
}
+3988: output[channel][loc] += data
__pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_output, __pyx_v_channel); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_loc); __pyx_t_3 = __pyx_v_loc; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyFloat_FromDouble(__pyx_v_data); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely((PyObject_SetItem(__pyx_t_2, __pyx_t_3, __pyx_t_6) < 0))) __PYX_ERR(0, 3988, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3989: else:
+3990: out = <mus_any>output
/*else*/ {
__pyx_t_2 = __pyx_v_output;
__Pyx_INCREF(__pyx_t_2);
__pyx_v_out = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_2);
__pyx_t_2 = 0;
+3991: cclm.mus_out_any(loc, data, channel, out._ptr)
__pyx_t_7 = __Pyx_PyInt_As_mus_long_t(__pyx_v_loc); if (unlikely((__pyx_t_7 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3991, __pyx_L1_error) __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_v_channel); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3991, __pyx_L1_error) (void)(mus_out_any(__pyx_t_7, __pyx_v_data, __pyx_t_8, __pyx_v_out->_ptr)); } __pyx_L3:;
3992:
3993: # --------------- outa ---------------- #
+3994: cpdef outa(loc: int, data: float, output=None):
static PyObject *__pyx_pw_8pysndlib_3clm_573outa(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_outa(PyObject *__pyx_v_loc, double __pyx_v_data, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_outa *__pyx_optional_args) {
PyObject *__pyx_v_output = ((PyObject *)Py_None);
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("outa", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_output = __pyx_optional_args->output;
}
}
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.outa", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_573outa(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_573outa = {"outa", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_573outa, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_573outa(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_loc = 0;
double __pyx_v_data;
PyObject *__pyx_v_output = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("outa (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_loc,&__pyx_n_s_data,&__pyx_n_s_output,0};
PyObject* values[3] = {0,0,0};
values[2] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_loc)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3994, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_data)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3994, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("outa", 0, 2, 3, 1); __PYX_ERR(0, 3994, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_output);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3994, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "outa") < 0)) __PYX_ERR(0, 3994, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_loc = ((PyObject*)values[0]);
__pyx_v_data = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_data == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3994, __pyx_L3_error)
__pyx_v_output = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("outa", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 3994, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.outa", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), (&PyInt_Type), 0, "loc", 1))) __PYX_ERR(0, 3994, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_572outa(__pyx_self, __pyx_v_loc, __pyx_v_data, __pyx_v_output);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_572outa(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_loc, double __pyx_v_data, PyObject *__pyx_v_output) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("outa", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.output = __pyx_v_output;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_outa(__pyx_v_loc, __pyx_v_data, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3994, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.outa", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__540 = PyTuple_Pack(3, __pyx_n_s_loc, __pyx_n_s_data, __pyx_n_s_output); if (unlikely(!__pyx_tuple__540)) __PYX_ERR(0, 3994, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__540);
__Pyx_GIVEREF(__pyx_tuple__540);
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 3994, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_loc, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 3994, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_data, __pyx_n_s_float) < 0) __PYX_ERR(0, 3994, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_573outa, 0, __pyx_n_s_outa, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__541)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 3994, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_outa, __pyx_t_41) < 0) __PYX_ERR(0, 3994, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__541 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__540, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_outa, 3994, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__541)) __PYX_ERR(0, 3994, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_outa {
int __pyx_n;
PyObject *output;
};
+3995: if output is not None:
__pyx_t_1 = (__pyx_v_output != Py_None);
if (__pyx_t_1) {
/* … */
goto __pyx_L3;
}
+3996: out_any(loc, data, 0, output)
__pyx_t_2 = __pyx_f_8pysndlib_3clm_out_any(__pyx_v_loc, __pyx_v_data, __pyx_int_0, __pyx_v_output, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3996, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3997: else:
+3998: out_any(loc, data, 0, CLM.output)
/*else*/ {
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CLM); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3998, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_output); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3998, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __pyx_f_8pysndlib_3clm_out_any(__pyx_v_loc, __pyx_v_data, __pyx_int_0, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3998, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__pyx_L3:;
3999: # --------------- outb ---------------- #
+4000: cpdef outb(loc: int, data: float, output=None):
static PyObject *__pyx_pw_8pysndlib_3clm_575outb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_outb(PyObject *__pyx_v_loc, double __pyx_v_data, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_outb *__pyx_optional_args) {
PyObject *__pyx_v_output = ((PyObject *)Py_None);
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("outb", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_output = __pyx_optional_args->output;
}
}
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.outb", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_575outb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_575outb = {"outb", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_575outb, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_575outb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_loc = 0;
double __pyx_v_data;
PyObject *__pyx_v_output = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("outb (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_loc,&__pyx_n_s_data,&__pyx_n_s_output,0};
PyObject* values[3] = {0,0,0};
values[2] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_loc)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4000, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_data)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4000, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("outb", 0, 2, 3, 1); __PYX_ERR(0, 4000, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_output);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4000, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "outb") < 0)) __PYX_ERR(0, 4000, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_loc = ((PyObject*)values[0]);
__pyx_v_data = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_data == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4000, __pyx_L3_error)
__pyx_v_output = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("outb", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 4000, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.outb", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), (&PyInt_Type), 0, "loc", 1))) __PYX_ERR(0, 4000, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_574outb(__pyx_self, __pyx_v_loc, __pyx_v_data, __pyx_v_output);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_574outb(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_loc, double __pyx_v_data, PyObject *__pyx_v_output) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("outb", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.output = __pyx_v_output;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_outb(__pyx_v_loc, __pyx_v_data, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4000, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.outb", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 4000, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_loc, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 4000, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_data, __pyx_n_s_float) < 0) __PYX_ERR(0, 4000, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_575outb, 0, __pyx_n_s_outb, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__542)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 4000, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_outb, __pyx_t_37) < 0) __PYX_ERR(0, 4000, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__542 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__540, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_outb, 4000, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__542)) __PYX_ERR(0, 4000, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_outb {
int __pyx_n;
PyObject *output;
};
+4001: if output is not None:
__pyx_t_1 = (__pyx_v_output != Py_None);
if (__pyx_t_1) {
/* … */
goto __pyx_L3;
}
+4002: out_any(loc, data, 1, output)
__pyx_t_2 = __pyx_f_8pysndlib_3clm_out_any(__pyx_v_loc, __pyx_v_data, __pyx_int_1, __pyx_v_output, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4003: else:
+4004: out_any(loc, data, 1, CLM.output)
/*else*/ {
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CLM); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4004, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_output); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4004, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __pyx_f_8pysndlib_3clm_out_any(__pyx_v_loc, __pyx_v_data, __pyx_int_1, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4004, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__pyx_L3:;
4005: # --------------- outc ---------------- #
+4006: cpdef outc(loc: int, data: float, output=None):
static PyObject *__pyx_pw_8pysndlib_3clm_577outc(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_outc(PyObject *__pyx_v_loc, double __pyx_v_data, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_outc *__pyx_optional_args) {
PyObject *__pyx_v_output = ((PyObject *)Py_None);
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("outc", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_output = __pyx_optional_args->output;
}
}
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.outc", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_577outc(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_577outc = {"outc", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_577outc, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_577outc(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_loc = 0;
double __pyx_v_data;
PyObject *__pyx_v_output = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("outc (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_loc,&__pyx_n_s_data,&__pyx_n_s_output,0};
PyObject* values[3] = {0,0,0};
values[2] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_loc)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4006, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_data)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4006, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("outc", 0, 2, 3, 1); __PYX_ERR(0, 4006, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_output);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4006, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "outc") < 0)) __PYX_ERR(0, 4006, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_loc = ((PyObject*)values[0]);
__pyx_v_data = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_data == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4006, __pyx_L3_error)
__pyx_v_output = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("outc", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 4006, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.outc", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), (&PyInt_Type), 0, "loc", 1))) __PYX_ERR(0, 4006, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_576outc(__pyx_self, __pyx_v_loc, __pyx_v_data, __pyx_v_output);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_576outc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_loc, double __pyx_v_data, PyObject *__pyx_v_output) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("outc", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.output = __pyx_v_output;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_outc(__pyx_v_loc, __pyx_v_data, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4006, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.outc", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 4006, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_loc, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 4006, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_data, __pyx_n_s_float) < 0) __PYX_ERR(0, 4006, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_577outc, 0, __pyx_n_s_outc, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__543)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 4006, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_41, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_outc, __pyx_t_41) < 0) __PYX_ERR(0, 4006, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__543 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__540, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_outc, 4006, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__543)) __PYX_ERR(0, 4006, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_outc {
int __pyx_n;
PyObject *output;
};
+4007: if output is not None:
__pyx_t_1 = (__pyx_v_output != Py_None);
if (__pyx_t_1) {
/* … */
goto __pyx_L3;
}
+4008: out_any(loc, data, 2, output)
__pyx_t_2 = __pyx_f_8pysndlib_3clm_out_any(__pyx_v_loc, __pyx_v_data, __pyx_int_2, __pyx_v_output, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4009: else:
+4010: out_any(loc, data, 2, CLM.output)
/*else*/ {
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CLM); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4010, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_output); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4010, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __pyx_f_8pysndlib_3clm_out_any(__pyx_v_loc, __pyx_v_data, __pyx_int_2, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4010, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__pyx_L3:;
4011: # --------------- outd ---------------- #
+4012: cpdef outd(loc: int, data: float, output=None):
static PyObject *__pyx_pw_8pysndlib_3clm_579outd(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_outd(PyObject *__pyx_v_loc, double __pyx_v_data, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_outd *__pyx_optional_args) {
PyObject *__pyx_v_output = ((PyObject *)Py_None);
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("outd", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_output = __pyx_optional_args->output;
}
}
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("pysndlib.clm.outd", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_579outd(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_579outd = {"outd", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_579outd, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_579outd(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_loc = 0;
double __pyx_v_data;
PyObject *__pyx_v_output = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("outd (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_loc,&__pyx_n_s_data,&__pyx_n_s_output,0};
PyObject* values[3] = {0,0,0};
values[2] = ((PyObject *)Py_None);
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_loc)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4012, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_data)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4012, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("outd", 0, 2, 3, 1); __PYX_ERR(0, 4012, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_output);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4012, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "outd") < 0)) __PYX_ERR(0, 4012, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_loc = ((PyObject*)values[0]);
__pyx_v_data = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_data == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4012, __pyx_L3_error)
__pyx_v_output = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("outd", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 4012, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.outd", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), (&PyInt_Type), 0, "loc", 1))) __PYX_ERR(0, 4012, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_578outd(__pyx_self, __pyx_v_loc, __pyx_v_data, __pyx_v_output);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_578outd(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_loc, double __pyx_v_data, PyObject *__pyx_v_output) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("outd", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 1;
__pyx_t_2.output = __pyx_v_output;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_outd(__pyx_v_loc, __pyx_v_data, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4012, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.outd", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 4012, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_loc, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 4012, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_data, __pyx_n_s_float) < 0) __PYX_ERR(0, 4012, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_579outd, 0, __pyx_n_s_outd, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__544)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 4012, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_37, __pyx_tuple__294);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_outd, __pyx_t_37) < 0) __PYX_ERR(0, 4012, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
/* … */
__pyx_codeobj__544 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__540, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_outd, 4012, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__544)) __PYX_ERR(0, 4012, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_outd {
int __pyx_n;
PyObject *output;
};
+4013: if output is not None:
__pyx_t_1 = (__pyx_v_output != Py_None);
if (__pyx_t_1) {
/* … */
goto __pyx_L3;
}
+4014: out_any(loc, data, 3, output)
__pyx_t_2 = __pyx_f_8pysndlib_3clm_out_any(__pyx_v_loc, __pyx_v_data, __pyx_int_3, __pyx_v_output, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4014, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4015: else:
+4016: out_any(loc, data, 3, CLM.output)
/*else*/ {
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CLM); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4016, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_output); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4016, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __pyx_f_8pysndlib_3clm_out_any(__pyx_v_loc, __pyx_v_data, __pyx_int_3, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4016, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__pyx_L3:;
4017: # --------------- out-bank ---------------- #
+4018: cpdef out_bank(gens, loc, inp):
static PyObject *__pyx_pw_8pysndlib_3clm_581out_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_out_bank(PyObject *__pyx_v_gens, PyObject *__pyx_v_loc, PyObject *__pyx_v_inp, CYTHON_UNUSED int __pyx_skip_dispatch) {
Py_ssize_t __pyx_v_i;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("out_bank", 0);
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_AddTraceback("pysndlib.clm.out_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_581out_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_581out_bank = {"out_bank", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_581out_bank, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_581out_bank(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_gens = 0;
PyObject *__pyx_v_loc = 0;
PyObject *__pyx_v_inp = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("out_bank (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gens,&__pyx_n_s_loc,&__pyx_n_s_inp,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gens)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4018, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_loc)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4018, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("out_bank", 1, 3, 3, 1); __PYX_ERR(0, 4018, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_inp)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4018, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("out_bank", 1, 3, 3, 2); __PYX_ERR(0, 4018, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "out_bank") < 0)) __PYX_ERR(0, 4018, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_gens = values[0];
__pyx_v_loc = values[1];
__pyx_v_inp = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("out_bank", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 4018, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.out_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_580out_bank(__pyx_self, __pyx_v_gens, __pyx_v_loc, __pyx_v_inp);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_580out_bank(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_gens, PyObject *__pyx_v_loc, PyObject *__pyx_v_inp) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("out_bank", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_out_bank(__pyx_v_gens, __pyx_v_loc, __pyx_v_inp, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4018, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.out_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__545 = PyTuple_Pack(3, __pyx_n_s_gens, __pyx_n_s_loc, __pyx_n_s_inp); if (unlikely(!__pyx_tuple__545)) __PYX_ERR(0, 4018, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__545);
__Pyx_GIVEREF(__pyx_tuple__545);
/* … */
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_581out_bank, 0, __pyx_n_s_out_bank, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__546)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 4018, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_out_bank, __pyx_t_37) < 0) __PYX_ERR(0, 4018, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__546 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__545, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_out_bank, 4018, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__546)) __PYX_ERR(0, 4018, __pyx_L1_error)
+4019: for i in range(len(gens)):
__pyx_t_1 = PyObject_Length(__pyx_v_gens); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 4019, __pyx_L1_error) __pyx_t_2 = __pyx_t_1; for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) { __pyx_v_i = __pyx_t_3;
+4020: out_any(loc, cclm.mus_apply(<cclm.mus_any_ptr>gens[i]._ptr, inp, 0.), i, CLM.output)
if (!(likely(__Pyx_Py3Int_CheckExact(__pyx_v_loc))||((__pyx_v_loc) == Py_None) || __Pyx_RaiseUnexpectedTypeError("int", __pyx_v_loc))) __PYX_ERR(0, 4020, __pyx_L1_error) __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_gens, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_ptr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_v_inp); if (unlikely((__pyx_t_6 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4020, __pyx_L1_error) __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_i); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CLM); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_output); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __pyx_f_8pysndlib_3clm_out_any(((PyObject*)__pyx_v_loc), mus_apply(((mus_any_ptr)__pyx_t_5), __pyx_t_6, 0.), __pyx_t_4, __pyx_t_8, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; }
4021:
4022:
4023: #--------------- in-any ----------------#
+4024: cpdef in_any(loc: int, channel: int, inp):
static PyObject *__pyx_pw_8pysndlib_3clm_583in_any(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_in_any(PyObject *__pyx_v_loc, PyObject *__pyx_v_channel, PyObject *__pyx_v_inp, CYTHON_UNUSED int __pyx_skip_dispatch) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_ipt = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("in_any", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.in_any", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF((PyObject *)__pyx_v_ipt);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_583in_any(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_582in_any, "\n input stream sample at frample in channel chan\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_583in_any = {"in_any", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_583in_any, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_582in_any};
static PyObject *__pyx_pw_8pysndlib_3clm_583in_any(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_loc = 0;
PyObject *__pyx_v_channel = 0;
PyObject *__pyx_v_inp = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("in_any (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_loc,&__pyx_n_s_channel,&__pyx_n_s_inp,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_loc)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4024, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_channel)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4024, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("in_any", 1, 3, 3, 1); __PYX_ERR(0, 4024, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_inp)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4024, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("in_any", 1, 3, 3, 2); __PYX_ERR(0, 4024, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "in_any") < 0)) __PYX_ERR(0, 4024, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_loc = ((PyObject*)values[0]);
__pyx_v_channel = ((PyObject*)values[1]);
__pyx_v_inp = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("in_any", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 4024, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.in_any", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), (&PyInt_Type), 0, "loc", 1))) __PYX_ERR(0, 4024, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_channel), (&PyInt_Type), 0, "channel", 1))) __PYX_ERR(0, 4024, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_582in_any(__pyx_self, __pyx_v_loc, __pyx_v_channel, __pyx_v_inp);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_582in_any(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_loc, PyObject *__pyx_v_channel, PyObject *__pyx_v_inp) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("in_any", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_in_any(__pyx_v_loc, __pyx_v_channel, __pyx_v_inp, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4024, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.in_any", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__547 = PyTuple_Pack(3, __pyx_n_s_loc, __pyx_n_s_channel, __pyx_n_s_inp); if (unlikely(!__pyx_tuple__547)) __PYX_ERR(0, 4024, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__547);
__Pyx_GIVEREF(__pyx_tuple__547);
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 4024, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_loc, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 4024, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_channel, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 4024, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_583in_any, 0, __pyx_n_s_in_any, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__548)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 4024, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_in_any, __pyx_t_41) < 0) __PYX_ERR(0, 4024, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__548 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__547, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_in_any, 4024, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__548)) __PYX_ERR(0, 4024, __pyx_L1_error)
4025: """
4026: input stream sample at frample in channel chan
4027: """
+4028: if is_list_or_ndarray(input):
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_list_or_ndarray(__pyx_builtin_input, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 4028, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ }
+4029: return inp[channel][loc]
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_inp, __pyx_v_channel); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_loc); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0;
+4030: elif isinstance(inp, types.generatortype):
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_generatortype); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_2 = PyObject_IsInstance(__pyx_v_inp, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 4030, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ }
+4031: return next(inp)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyIter_Next(__pyx_v_inp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
+4032: elif callable(inp):
__pyx_t_2 = __Pyx_PyCallable_Check(__pyx_v_inp); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 4032, __pyx_L1_error) if (__pyx_t_2) { /* … */ }
+4033: return inp(loc, channel)
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_inp); __pyx_t_3 = __pyx_v_inp; __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_v_loc, __pyx_v_channel}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
4034: else:
+4035: ipt = <mus_any>inp
/*else*/ {
__pyx_t_1 = __pyx_v_inp;
__Pyx_INCREF(__pyx_t_1);
__pyx_v_ipt = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_1);
__pyx_t_1 = 0;
+4036: return cclm.mus_in_any(loc, channel, ipt._ptr)
__Pyx_XDECREF(__pyx_r); __pyx_t_6 = __Pyx_PyInt_As_mus_long_t(__pyx_v_loc); if (unlikely((__pyx_t_6 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4036, __pyx_L1_error) __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_v_channel); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4036, __pyx_L1_error) __pyx_t_1 = PyFloat_FromDouble(mus_in_any(__pyx_t_6, __pyx_t_5, __pyx_v_ipt->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4036, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; }
4037:
4038: #--------------- ina ----------------#
+4039: cpdef ina(loc: int, inp):
static PyObject *__pyx_pw_8pysndlib_3clm_585ina(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_ina(PyObject *__pyx_v_loc, PyObject *__pyx_v_inp, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ina", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.ina", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_585ina(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_585ina = {"ina", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_585ina, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_585ina(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_loc = 0;
PyObject *__pyx_v_inp = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ina (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_loc,&__pyx_n_s_inp,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_loc)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4039, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_inp)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4039, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("ina", 1, 2, 2, 1); __PYX_ERR(0, 4039, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "ina") < 0)) __PYX_ERR(0, 4039, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_loc = ((PyObject*)values[0]);
__pyx_v_inp = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("ina", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 4039, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.ina", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), (&PyInt_Type), 0, "loc", 1))) __PYX_ERR(0, 4039, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_584ina(__pyx_self, __pyx_v_loc, __pyx_v_inp);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_584ina(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_loc, PyObject *__pyx_v_inp) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("ina", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_ina(__pyx_v_loc, __pyx_v_inp, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4039, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.ina", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__549 = PyTuple_Pack(2, __pyx_n_s_loc, __pyx_n_s_inp); if (unlikely(!__pyx_tuple__549)) __PYX_ERR(0, 4039, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__549);
__Pyx_GIVEREF(__pyx_tuple__549);
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 4039, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_loc, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 4039, __pyx_L1_error)
__pyx_t_37 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_585ina, 0, __pyx_n_s_ina, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__550)); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 4039, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_37, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ina, __pyx_t_37) < 0) __PYX_ERR(0, 4039, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__pyx_codeobj__550 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__549, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_ina, 4039, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__550)) __PYX_ERR(0, 4039, __pyx_L1_error)
+4040: return in_any(loc, 0, inp)
__Pyx_XDECREF(__pyx_r); if (!(likely(__Pyx_Py3Int_CheckExact(__pyx_int_0)) || __Pyx_RaiseUnexpectedTypeError("int", __pyx_int_0))) __PYX_ERR(0, 4040, __pyx_L1_error) __pyx_t_1 = __pyx_f_8pysndlib_3clm_in_any(__pyx_v_loc, ((PyObject*)__pyx_int_0), __pyx_v_inp, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
4041:
4042: #--------------- inb ----------------#
+4043: cpdef inb(loc: int, inp):
static PyObject *__pyx_pw_8pysndlib_3clm_587inb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_inb(PyObject *__pyx_v_loc, PyObject *__pyx_v_inp, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("inb", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.inb", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_587inb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_587inb = {"inb", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_587inb, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_587inb(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_loc = 0;
PyObject *__pyx_v_inp = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("inb (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_loc,&__pyx_n_s_inp,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_loc)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4043, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_inp)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4043, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("inb", 1, 2, 2, 1); __PYX_ERR(0, 4043, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "inb") < 0)) __PYX_ERR(0, 4043, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_loc = ((PyObject*)values[0]);
__pyx_v_inp = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("inb", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 4043, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.inb", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), (&PyInt_Type), 0, "loc", 1))) __PYX_ERR(0, 4043, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_586inb(__pyx_self, __pyx_v_loc, __pyx_v_inp);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_586inb(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_loc, PyObject *__pyx_v_inp) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("inb", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_inb(__pyx_v_loc, __pyx_v_inp, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4043, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.inb", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_37 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 4043, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_loc, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 4043, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_587inb, 0, __pyx_n_s_inb, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__551)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 4043, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_37);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_inb, __pyx_t_41) < 0) __PYX_ERR(0, 4043, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__551 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__549, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_inb, 4043, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__551)) __PYX_ERR(0, 4043, __pyx_L1_error)
+4044: return in_any(loc, 1, inp)
__Pyx_XDECREF(__pyx_r); if (!(likely(__Pyx_Py3Int_CheckExact(__pyx_int_1)) || __Pyx_RaiseUnexpectedTypeError("int", __pyx_int_1))) __PYX_ERR(0, 4044, __pyx_L1_error) __pyx_t_1 = __pyx_f_8pysndlib_3clm_in_any(__pyx_v_loc, ((PyObject*)__pyx_int_1), __pyx_v_inp, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
4045:
4046:
4047:
4048: # --------------- locsig ---------------- #
+4049: cpdef mus_any make_locsig(degree: Optional[float]=0.0,
static PyObject *__pyx_pw_8pysndlib_3clm_589make_locsig(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_f_8pysndlib_3clm_make_locsig(CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_make_locsig *__pyx_optional_args) {
PyObject *__pyx_v_degree = ((PyObject *)__pyx_float_0_0);
PyObject *__pyx_v_distance = ((PyObject *)__pyx_float_1_);
PyObject *__pyx_v_reverb = ((PyObject *)__pyx_float_0_0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("pysndlib.clm.make_locsig", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF((PyObject *)__pyx_v_res);
__Pyx_XDECREF(__pyx_v_output);
__Pyx_XDECREF(__pyx_v_revout);
__Pyx_XDECREF(__pyx_v_channels);
__Pyx_XDECREF(__pyx_v_reverb_channels);
__Pyx_XGIVEREF((PyObject *)__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_589make_locsig(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_588make_locsig, "\n return a new generator for signal placement in n channels. channel 0 corresponds to 0 degrees.\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_589make_locsig = {"make_locsig", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_589make_locsig, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_588make_locsig};
static PyObject *__pyx_pw_8pysndlib_3clm_589make_locsig(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_degree = 0;
PyObject *__pyx_v_distance = 0;
PyObject *__pyx_v_reverb = 0;
PyObject *__pyx_v_output = 0;
PyObject *__pyx_v_revout = 0;
PyObject *__pyx_v_channels = 0;
PyObject *__pyx_v_reverb_channels = 0;
PyObject *__pyx_v_interp_type = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_locsig (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_degree,&__pyx_n_s_distance,&__pyx_n_s_reverb,&__pyx_n_s_output,&__pyx_n_s_revout,&__pyx_n_s_channels,&__pyx_n_s_reverb_channels,&__pyx_n_s_interp_type,0};
PyObject* values[8] = {0,0,0,0,0,0,0,0};
values[0] = ((PyObject *)__pyx_float_0_0);
values[1] = ((PyObject *)__pyx_float_1_);
values[2] = ((PyObject *)__pyx_float_0_0);
/* … */
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_588make_locsig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_degree, PyObject *__pyx_v_distance, PyObject *__pyx_v_reverb, PyObject *__pyx_v_output, PyObject *__pyx_v_revout, PyObject *__pyx_v_channels, PyObject *__pyx_v_reverb_channels, PyObject *__pyx_v_interp_type) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_locsig", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 8;
__pyx_t_2.degree = __pyx_v_degree;
__pyx_t_2.distance = __pyx_v_distance;
__pyx_t_2.reverb = __pyx_v_reverb;
__pyx_t_2.output = __pyx_v_output;
__pyx_t_2.revout = __pyx_v_revout;
__pyx_t_2.channels = __pyx_v_channels;
__pyx_t_2.reverb_channels = __pyx_v_reverb_channels;
__pyx_t_2.interp_type = __pyx_v_interp_type;
__pyx_t_1 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_locsig(0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4049, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.make_locsig", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__552 = PyTuple_Pack(8, __pyx_n_s_degree, __pyx_n_s_distance, __pyx_n_s_reverb, __pyx_n_s_output, __pyx_n_s_revout, __pyx_n_s_channels, __pyx_n_s_reverb_channels, __pyx_n_s_interp_type); if (unlikely(!__pyx_tuple__552)) __PYX_ERR(0, 4049, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__552);
__Pyx_GIVEREF(__pyx_tuple__552);
/* … */
__pyx_t_37 = PyTuple_New(8); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 4049, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_INCREF(__pyx_float_0_0);
__Pyx_GIVEREF(__pyx_float_0_0);
PyTuple_SET_ITEM(__pyx_t_37, 0, __pyx_float_0_0);
__Pyx_INCREF(__pyx_float_1_);
__Pyx_GIVEREF(__pyx_float_1_);
PyTuple_SET_ITEM(__pyx_t_37, 1, __pyx_float_1_);
__Pyx_INCREF(__pyx_float_0_0);
__Pyx_GIVEREF(__pyx_float_0_0);
PyTuple_SET_ITEM(__pyx_t_37, 2, __pyx_float_0_0);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_37, 3, Py_None);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_37, 4, Py_None);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_37, 5, Py_None);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_37, 6, Py_None);
__Pyx_GIVEREF(__pyx_t_41);
PyTuple_SET_ITEM(__pyx_t_37, 7, __pyx_t_41);
__pyx_t_41 = 0;
__pyx_t_41 = __Pyx_PyDict_NewPresized(8); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 4049, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_degree, __pyx_kp_s_Optional_float) < 0) __PYX_ERR(0, 4049, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_distance, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 4049, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_reverb, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 4049, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_output, __pyx_kp_s_Optional_mus_any) < 0) __PYX_ERR(0, 4049, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_revout, __pyx_kp_s_Optional_mus_any) < 0) __PYX_ERR(0, 4049, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_channels, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 4049, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_reverb_channels, __pyx_kp_s_Optional_int) < 0) __PYX_ERR(0, 4049, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_interp_type, __pyx_kp_s_Optional_Interp) < 0) __PYX_ERR(0, 4049, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_589make_locsig, 0, __pyx_n_s_make_locsig, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__553)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 4049, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_t_37);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_locsig, __pyx_t_40) < 0) __PYX_ERR(0, 4049, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__553 = (PyObject*)__Pyx_PyCode_New(8, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__552, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_locsig, 4049, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__553)) __PYX_ERR(0, 4049, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_make_locsig {
int __pyx_n;
PyObject *degree;
PyObject *distance;
PyObject *reverb;
PyObject *output;
PyObject *revout;
PyObject *channels;
PyObject *reverb_channels;
PyObject *interp_type;
};
4050: distance: Optional[cython.double]=1.,
4051: reverb: Optional[cython.double]=0.0,
+4052: output: Optional[mus_any]=None,
PyObject *__pyx_v_output = ((PyObject *)Py_None);
/* … */
values[3] = ((PyObject *)Py_None);
+4053: revout: Optional[mus_any]=None,
PyObject *__pyx_v_revout = ((PyObject *)Py_None);
/* … */
values[4] = ((PyObject *)Py_None);
+4054: channels: Optional[int]=None,
PyObject *__pyx_v_channels = ((PyObject *)Py_None);
/* … */
values[5] = ((PyObject *)Py_None);
+4055: reverb_channels: Optional[int]=None,
PyObject *__pyx_v_reverb_channels = ((PyObject *)Py_None); PyObject *__pyx_v_interp_type = __pyx_k__48; struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_res = NULL; struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_locsig", 0); if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_degree = __pyx_optional_args->degree; if (__pyx_optional_args->__pyx_n > 1) { __pyx_v_distance = __pyx_optional_args->distance; if (__pyx_optional_args->__pyx_n > 2) { __pyx_v_reverb = __pyx_optional_args->reverb; if (__pyx_optional_args->__pyx_n > 3) { __pyx_v_output = __pyx_optional_args->output; if (__pyx_optional_args->__pyx_n > 4) { __pyx_v_revout = __pyx_optional_args->revout; if (__pyx_optional_args->__pyx_n > 5) { __pyx_v_channels = __pyx_optional_args->channels; if (__pyx_optional_args->__pyx_n > 6) { __pyx_v_reverb_channels = __pyx_optional_args->reverb_channels; if (__pyx_optional_args->__pyx_n > 7) { __pyx_v_interp_type = __pyx_optional_args->interp_type; } } } } } } } } } __Pyx_INCREF(__pyx_v_output); __Pyx_INCREF(__pyx_v_revout); __Pyx_INCREF(__pyx_v_channels); __Pyx_INCREF(__pyx_v_reverb_channels); /* … */ values[6] = ((PyObject *)Py_None); values[7] = __pyx_k__48; if (__pyx_kwds) { Py_ssize_t kw_args; switch (__pyx_nargs) { case 8: values[7] = __Pyx_Arg_FASTCALL(__pyx_args, 7); CYTHON_FALLTHROUGH; case 7: values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6); CYTHON_FALLTHROUGH; case 6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5); CYTHON_FALLTHROUGH; case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); switch (__pyx_nargs) { case 0: if (kw_args > 0) { PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_degree); if (value) { values[0] = value; kw_args--; } else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4049, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 1: if (kw_args > 0) { PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_distance); if (value) { values[1] = value; kw_args--; } else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4049, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_reverb); if (value) { values[2] = value; kw_args--; } else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4049, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (kw_args > 0) { PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_output); if (value) { values[3] = value; kw_args--; } else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4049, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (kw_args > 0) { PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_revout); if (value) { values[4] = value; kw_args--; } else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4049, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 5: if (kw_args > 0) { PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_channels); if (value) { values[5] = value; kw_args--; } else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4049, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 6: if (kw_args > 0) { PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_reverb_channels); if (value) { values[6] = value; kw_args--; } else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4049, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 7: if (kw_args > 0) { PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_interp_type); if (value) { values[7] = value; kw_args--; } else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4049, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { const Py_ssize_t kwd_pos_args = __pyx_nargs; if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_locsig") < 0)) __PYX_ERR(0, 4049, __pyx_L3_error) } } else { switch (__pyx_nargs) { case 8: values[7] = __Pyx_Arg_FASTCALL(__pyx_args, 7); CYTHON_FALLTHROUGH; case 7: values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6); CYTHON_FALLTHROUGH; case 6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5); CYTHON_FALLTHROUGH; case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_degree = values[0]; __pyx_v_distance = values[1]; __pyx_v_reverb = values[2]; __pyx_v_output = values[3]; __pyx_v_revout = values[4]; __pyx_v_channels = values[5]; __pyx_v_reverb_channels = values[6]; __pyx_v_interp_type = values[7]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("make_locsig", 0, 0, 8, __pyx_nargs); __PYX_ERR(0, 4049, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("pysndlib.clm.make_locsig", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_8pysndlib_3clm_588make_locsig(__pyx_self, __pyx_v_degree, __pyx_v_distance, __pyx_v_reverb, __pyx_v_output, __pyx_v_revout, __pyx_v_channels, __pyx_v_reverb_channels, __pyx_v_interp_type);
+4056: interp_type: Optional[Interp]=Interp.LINEAR):
__pyx_t_41 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_LINEAR); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 4056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_k__48 = __pyx_t_41; __Pyx_GIVEREF(__pyx_t_41); __pyx_t_41 = 0; /* … */ __pyx_t_41 = __Pyx_Enum_Interp_to_py(__pyx_e_8pysndlib_3clm_LINEAR); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 4056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41);
4057:
4058: """
4059: return a new generator for signal placement in n channels. channel 0 corresponds to 0 degrees.
4060: """
4061:
4062: cdef cclm.detour_cb cy_detour_f_ptr
4063:
+4064: if not output:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_output); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 4064, __pyx_L1_error) __pyx_t_2 = (!__pyx_t_1); if (__pyx_t_2) { /* … */ }
+4065: output = CLM.output #todo : check if this exists
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CLM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_output); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_output, __pyx_t_4); __pyx_t_4 = 0;
4066:
+4067: if not revout:
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_revout); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 4067, __pyx_L1_error) __pyx_t_1 = (!__pyx_t_2); if (__pyx_t_1) { /* … */ }
+4068: if CLM.reverb is not None:
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CLM); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4068, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_reverb); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4068, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_1 = (__pyx_t_3 != Py_None); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_1) { /* … */ goto __pyx_L5; }
+4069: revout = CLM.reverb
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CLM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4069, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_reverb); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4069, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_revout, __pyx_t_4); __pyx_t_4 = 0;
4070: else:
+4071: revout = None #this generates and error but still works
/*else*/ {
__Pyx_INCREF(Py_None);
__Pyx_DECREF_SET(__pyx_v_revout, Py_None);
}
__pyx_L5:;
4072:
+4073: if not channels:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_channels); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 4073, __pyx_L1_error) __pyx_t_2 = (!__pyx_t_1); if (__pyx_t_2) { /* … */ }
+4074: channels = clm_channels(output)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_clm_channels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_output}; __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF_SET(__pyx_v_channels, __pyx_t_4); __pyx_t_4 = 0;
4075:
+4076: if not reverb_channels:
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_reverb_channels); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 4076, __pyx_L1_error) __pyx_t_1 = (!__pyx_t_2); if (__pyx_t_1) { /* … */ }
+4077: reverb_channels = clm_channels(revout)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_clm_channels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_6 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_revout}; __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF_SET(__pyx_v_reverb_channels, __pyx_t_4); __pyx_t_4 = 0;
4078:
+4079: if isinstance(output, mus_any):
__pyx_t_1 = __Pyx_TypeCheck(__pyx_v_output, __pyx_ptype_8pysndlib_3clm_mus_any);
if (__pyx_t_1) {
/* … */
}
+4080: res = mus_any.from_ptr(cclm.mus_make_locsig(degree, distance, reverb, channels, <cclm.mus_any*>(output._ptr), reverb_channels, <cclm.mus_any*>(revout._ptr), interp_type))
__pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_v_degree); if (unlikely((__pyx_t_7 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4080, __pyx_L1_error) __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_v_distance); if (unlikely((__pyx_t_8 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4080, __pyx_L1_error) __pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_v_reverb); if (unlikely((__pyx_t_9 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4080, __pyx_L1_error) __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_v_channels); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4080, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_output, __pyx_n_s_ptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4080, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_v_reverb_channels); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4080, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_revout, __pyx_n_s_ptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4080, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = ((mus_interp_t)__Pyx_PyInt_As_mus_interp_t(__pyx_v_interp_type)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4080, __pyx_L1_error) __pyx_t_5 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_locsig(__pyx_t_7, __pyx_t_8, __pyx_t_9, __pyx_t_6, ((mus_any *)__pyx_t_4), __pyx_t_10, ((mus_any *)__pyx_t_3), __pyx_t_11), NULL)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4080, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_res = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_5); __pyx_t_5 = 0;
+4081: return res
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_res); __pyx_r = __pyx_v_res; goto __pyx_L0;
4082:
4083: # todo: what if revout is not an iterable? while possible not going to deal with it right now :)
+4084: elif is_list_or_ndarray(output):
__pyx_t_5 = __pyx_f_8pysndlib_3clm_is_list_or_ndarray(__pyx_v_output, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4084, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 4084, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (likely(__pyx_t_1)) { /* … */ }
+4085: if not reverb_channels:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_reverb_channels); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 4085, __pyx_L1_error) __pyx_t_2 = (!__pyx_t_1); if (__pyx_t_2) { /* … */ }
+4086: reverb_channels = 0
__Pyx_INCREF(__pyx_int_0); __Pyx_DECREF_SET(__pyx_v_reverb_channels, __pyx_int_0);
4087:
+4088: res = mus_any.from_ptr(cclm.mus_make_locsig(degree, distance, reverb, channels, NULL, reverb_channels, NULL, interp_type))
__pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_v_degree); if (unlikely((__pyx_t_9 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4088, __pyx_L1_error) __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_v_distance); if (unlikely((__pyx_t_8 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4088, __pyx_L1_error) __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_v_reverb); if (unlikely((__pyx_t_7 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4088, __pyx_L1_error) __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_v_channels); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4088, __pyx_L1_error) __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_v_reverb_channels); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4088, __pyx_L1_error) __pyx_t_11 = ((mus_interp_t)__Pyx_PyInt_As_mus_interp_t(__pyx_v_interp_type)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4088, __pyx_L1_error) __pyx_t_5 = ((PyObject *)__pyx_vtabptr_8pysndlib_3clm_mus_any->from_ptr(mus_make_locsig(__pyx_t_9, __pyx_t_8, __pyx_t_7, __pyx_t_10, NULL, __pyx_t_6, NULL, __pyx_t_11), NULL)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4088, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_res = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_5); __pyx_t_5 = 0;
+4089: cclm.mus_locsig_set_detour(res._ptr, <cclm.detour_cb>locsig_detour_callback_func)
mus_locsig_set_detour(__pyx_v_res->_ptr, ((detour_cb)__pyx_f_8pysndlib_3clm_locsig_detour_callback_func));
4090:
+4091: return res
__Pyx_XDECREF((PyObject *)__pyx_r); __Pyx_INCREF((PyObject *)__pyx_v_res); __pyx_r = __pyx_v_res; goto __pyx_L0;
4092:
4093: else:
+4094: raise TypeError(f"output needs to be a clm gen or np.array not a {type(output)}")
/*else*/ {
__pyx_t_5 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_v_output)), __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4094, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_output_needs_to_be_a_clm_gen_or, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4094, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4094, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_Raise(__pyx_t_5, 0, 0, 0);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__PYX_ERR(0, 4094, __pyx_L1_error)
}
4095:
+4096: cpdef void locsig(gen: mus_any, loc: int, val: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_591locsig(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static void __pyx_f_8pysndlib_3clm_locsig(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_loc, double __pyx_v_val, CYTHON_UNUSED int __pyx_skip_dispatch) {
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("locsig", 0);
/* … */
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.locsig", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_L0:;
__Pyx_RefNannyFinishContext();
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_591locsig(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_590locsig, "\n locsig 'gen' channel 'chan' scaler\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_591locsig = {"locsig", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_591locsig, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_590locsig};
static PyObject *__pyx_pw_8pysndlib_3clm_591locsig(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_loc = 0;
double __pyx_v_val;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("locsig (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_loc,&__pyx_n_s_val,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4096, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_loc)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4096, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("locsig", 1, 3, 3, 1); __PYX_ERR(0, 4096, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_val)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4096, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("locsig", 1, 3, 3, 2); __PYX_ERR(0, 4096, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "locsig") < 0)) __PYX_ERR(0, 4096, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_loc = ((PyObject*)values[1]);
__pyx_v_val = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4096, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("locsig", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 4096, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.locsig", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 4096, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), (&PyInt_Type), 0, "loc", 1))) __PYX_ERR(0, 4096, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_590locsig(__pyx_self, __pyx_v_gen, __pyx_v_loc, __pyx_v_val);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_590locsig(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_loc, double __pyx_v_val) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("locsig", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_f_8pysndlib_3clm_locsig(__pyx_v_gen, __pyx_v_loc, __pyx_v_val, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4096, __pyx_L1_error)
__pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4096, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.locsig", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__554 = PyTuple_Pack(3, __pyx_n_s_gen, __pyx_n_s_loc, __pyx_n_s_val); if (unlikely(!__pyx_tuple__554)) __PYX_ERR(0, 4096, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__554);
__Pyx_GIVEREF(__pyx_tuple__554);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 4096, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 4096, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_loc, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 4096, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_val, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 4096, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_591locsig, 0, __pyx_n_s_locsig, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__555)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 4096, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_locsig, __pyx_t_41) < 0) __PYX_ERR(0, 4096, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__555 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__554, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_locsig, 4096, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__555)) __PYX_ERR(0, 4096, __pyx_L1_error)
4097: """
4098: locsig 'gen' channel 'chan' scaler
4099: """
+4100: cclm.mus_locsig(gen._ptr, loc, val)
__pyx_t_1 = __Pyx_PyInt_As_mus_long_t(__pyx_v_loc); if (unlikely((__pyx_t_1 == ((mus_long_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4100, __pyx_L1_error) mus_locsig(__pyx_v_gen->_ptr, __pyx_t_1, __pyx_v_val);
4101:
+4102: cpdef is_locsig(gen: mus_any):
static PyObject *__pyx_pw_8pysndlib_3clm_593is_locsig(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_is_locsig(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, CYTHON_UNUSED int __pyx_skip_dispatch) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_locsig", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.is_locsig", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_593is_locsig(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_592is_locsig, "\n returns true if gen is a locsig\n :param gen: gen\n :return: result\n :rtype: bool\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_593is_locsig = {"is_locsig", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_593is_locsig, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_592is_locsig};
static PyObject *__pyx_pw_8pysndlib_3clm_593is_locsig(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_locsig (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4102, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_locsig") < 0)) __PYX_ERR(0, 4102, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_locsig", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 4102, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.is_locsig", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 4102, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_592is_locsig(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_592is_locsig(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_locsig", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_is_locsig(__pyx_v_gen, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4102, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.is_locsig", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 4102, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 4102, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_593is_locsig, 0, __pyx_n_s_is_locsig, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__556)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 4102, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_locsig, __pyx_t_40) < 0) __PYX_ERR(0, 4102, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__556 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_locsig, 4102, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__556)) __PYX_ERR(0, 4102, __pyx_L1_error)
4103: """
4104: returns true if gen is a locsig
4105: :param gen: gen
4106: :return: result
4107: :rtype: bool
4108: """
+4109: return cclm.mus_is_locsig(gen._ptr)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyBool_FromLong(mus_is_locsig(__pyx_v_gen->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
4110:
+4111: cpdef cython.double locsig_ref(gen: mus_any, chan: int):
static PyObject *__pyx_pw_8pysndlib_3clm_595locsig_ref(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_locsig_ref(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_chan, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("locsig_ref", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.locsig_ref", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_595locsig_ref(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_594locsig_ref, "\n locsig 'gen' channel 'chan' scaler\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_595locsig_ref = {"locsig_ref", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_595locsig_ref, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_594locsig_ref};
static PyObject *__pyx_pw_8pysndlib_3clm_595locsig_ref(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_chan = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("locsig_ref (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_chan,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4111, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_chan)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4111, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("locsig_ref", 1, 2, 2, 1); __PYX_ERR(0, 4111, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "locsig_ref") < 0)) __PYX_ERR(0, 4111, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_chan = ((PyObject*)values[1]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("locsig_ref", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 4111, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.locsig_ref", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 4111, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_chan), (&PyInt_Type), 0, "chan", 1))) __PYX_ERR(0, 4111, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_594locsig_ref(__pyx_self, __pyx_v_gen, __pyx_v_chan);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_594locsig_ref(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_chan) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("locsig_ref", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_locsig_ref(__pyx_v_gen, __pyx_v_chan, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4111, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4111, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.locsig_ref", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__557 = PyTuple_Pack(2, __pyx_n_s_gen, __pyx_n_s_chan); if (unlikely(!__pyx_tuple__557)) __PYX_ERR(0, 4111, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__557);
__Pyx_GIVEREF(__pyx_tuple__557);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 4111, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 4111, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_chan, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 4111, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_595locsig_ref, 0, __pyx_n_s_locsig_ref, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__558)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 4111, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_locsig_ref, __pyx_t_41) < 0) __PYX_ERR(0, 4111, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__558 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__557, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_locsig_ref, 4111, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__558)) __PYX_ERR(0, 4111, __pyx_L1_error)
4112: """
4113: locsig 'gen' channel 'chan' scaler
4114: """
+4115: return cclm.mus_locsig_ref(gen._ptr, chan)
__pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_chan); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4115, __pyx_L1_error) __pyx_r = mus_locsig_ref(__pyx_v_gen->_ptr, __pyx_t_1); goto __pyx_L0;
4116:
+4117: cpdef cython.double locsig_set(gen: mus_any, chan: int, val:cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_597locsig_set(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_locsig_set(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_chan, double __pyx_v_val, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("locsig_set", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.locsig_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_597locsig_set(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_596locsig_set, "\n set the locsig generator's channel 'chan' scaler to 'val'\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_597locsig_set = {"locsig_set", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_597locsig_set, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_596locsig_set};
static PyObject *__pyx_pw_8pysndlib_3clm_597locsig_set(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_chan = 0;
double __pyx_v_val;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("locsig_set (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_chan,&__pyx_n_s_val,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4117, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_chan)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4117, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("locsig_set", 1, 3, 3, 1); __PYX_ERR(0, 4117, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_val)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4117, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("locsig_set", 1, 3, 3, 2); __PYX_ERR(0, 4117, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "locsig_set") < 0)) __PYX_ERR(0, 4117, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_chan = ((PyObject*)values[1]);
__pyx_v_val = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4117, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("locsig_set", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 4117, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.locsig_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 4117, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_chan), (&PyInt_Type), 0, "chan", 1))) __PYX_ERR(0, 4117, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_596locsig_set(__pyx_self, __pyx_v_gen, __pyx_v_chan, __pyx_v_val);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_596locsig_set(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_chan, double __pyx_v_val) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("locsig_set", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_locsig_set(__pyx_v_gen, __pyx_v_chan, __pyx_v_val, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4117, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4117, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.locsig_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__559 = PyTuple_Pack(3, __pyx_n_s_gen, __pyx_n_s_chan, __pyx_n_s_val); if (unlikely(!__pyx_tuple__559)) __PYX_ERR(0, 4117, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__559);
__Pyx_GIVEREF(__pyx_tuple__559);
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 4117, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 4117, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_chan, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 4117, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_val, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 4117, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_597locsig_set, 0, __pyx_n_s_locsig_set, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__560)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 4117, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_locsig_set, __pyx_t_40) < 0) __PYX_ERR(0, 4117, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__560 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__559, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_locsig_set, 4117, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__560)) __PYX_ERR(0, 4117, __pyx_L1_error)
4118: """
4119: set the locsig generator's channel 'chan' scaler to 'val'
4120: """
+4121: return cclm.mus_locsig_set(gen._ptr, chan, val)
__pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_chan); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4121, __pyx_L1_error) __pyx_r = mus_locsig_set(__pyx_v_gen->_ptr, __pyx_t_1, __pyx_v_val); goto __pyx_L0;
4122:
+4123: cpdef cython.double locsig_reverb_ref(gen: mus_any, chan: int):
static PyObject *__pyx_pw_8pysndlib_3clm_599locsig_reverb_ref(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_locsig_reverb_ref(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_chan, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("locsig_reverb_ref", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.locsig_reverb_ref", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_599locsig_reverb_ref(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_598locsig_reverb_ref, "\n locsig reverb channel 'chan' scaler\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_599locsig_reverb_ref = {"locsig_reverb_ref", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_599locsig_reverb_ref, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_598locsig_reverb_ref};
static PyObject *__pyx_pw_8pysndlib_3clm_599locsig_reverb_ref(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_chan = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("locsig_reverb_ref (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_chan,0};
PyObject* values[2] = {0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4123, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_chan)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4123, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("locsig_reverb_ref", 1, 2, 2, 1); __PYX_ERR(0, 4123, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "locsig_reverb_ref") < 0)) __PYX_ERR(0, 4123, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 2)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_chan = ((PyObject*)values[1]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("locsig_reverb_ref", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 4123, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.locsig_reverb_ref", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 4123, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_chan), (&PyInt_Type), 0, "chan", 1))) __PYX_ERR(0, 4123, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_598locsig_reverb_ref(__pyx_self, __pyx_v_gen, __pyx_v_chan);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_598locsig_reverb_ref(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_chan) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("locsig_reverb_ref", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_locsig_reverb_ref(__pyx_v_gen, __pyx_v_chan, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4123, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.locsig_reverb_ref", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 4123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 4123, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_chan, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 4123, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_599locsig_reverb_ref, 0, __pyx_n_s_locsig_reverb_ref, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__561)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 4123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_locsig_reverb_ref, __pyx_t_41) < 0) __PYX_ERR(0, 4123, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
/* … */
__pyx_codeobj__561 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__557, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_locsig_reverb_ref, 4123, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__561)) __PYX_ERR(0, 4123, __pyx_L1_error)
4124: """
4125: locsig reverb channel 'chan' scaler
4126: """
+4127: return cclm.mus_locsig_reverb_ref(gen._ptr, chan)
__pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_chan); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4127, __pyx_L1_error) __pyx_r = mus_locsig_reverb_ref(__pyx_v_gen->_ptr, __pyx_t_1); goto __pyx_L0;
4128:
+4129: cpdef cython.double locsig_reverb_set(gen: mus_any, chan: int, val: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_601locsig_reverb_set(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_8pysndlib_3clm_locsig_reverb_set(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_chan, double __pyx_v_val, CYTHON_UNUSED int __pyx_skip_dispatch) {
double __pyx_r;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("locsig_reverb_set", 0);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("pysndlib.clm.locsig_reverb_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = -1;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_601locsig_reverb_set(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_600locsig_reverb_set, "\n set the locsig reverb channel 'chan' scaler to 'val\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_601locsig_reverb_set = {"locsig_reverb_set", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_601locsig_reverb_set, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_600locsig_reverb_set};
static PyObject *__pyx_pw_8pysndlib_3clm_601locsig_reverb_set(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
PyObject *__pyx_v_chan = 0;
double __pyx_v_val;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("locsig_reverb_set (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_chan,&__pyx_n_s_val,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4129, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_chan)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4129, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("locsig_reverb_set", 1, 3, 3, 1); __PYX_ERR(0, 4129, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_val)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4129, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("locsig_reverb_set", 1, 3, 3, 2); __PYX_ERR(0, 4129, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "locsig_reverb_set") < 0)) __PYX_ERR(0, 4129, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_chan = ((PyObject*)values[1]);
__pyx_v_val = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4129, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("locsig_reverb_set", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 4129, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.locsig_reverb_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 4129, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_chan), (&PyInt_Type), 0, "chan", 1))) __PYX_ERR(0, 4129, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_600locsig_reverb_set(__pyx_self, __pyx_v_gen, __pyx_v_chan, __pyx_v_val);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_600locsig_reverb_set(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, PyObject *__pyx_v_chan, double __pyx_v_val) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("locsig_reverb_set", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __pyx_f_8pysndlib_3clm_locsig_reverb_set(__pyx_v_gen, __pyx_v_chan, __pyx_v_val, 0); if (unlikely(__pyx_t_1 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4129, __pyx_L1_error)
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4129, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("pysndlib.clm.locsig_reverb_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_41 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 4129, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 4129, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_chan, __pyx_n_s_int_2) < 0) __PYX_ERR(0, 4129, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_41, __pyx_n_s_val, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 4129, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_601locsig_reverb_set, 0, __pyx_n_s_locsig_reverb_set, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__562)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 4129, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_41);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_locsig_reverb_set, __pyx_t_40) < 0) __PYX_ERR(0, 4129, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
/* … */
__pyx_codeobj__562 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__559, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_locsig_reverb_set, 4129, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__562)) __PYX_ERR(0, 4129, __pyx_L1_error)
4130: """
4131: set the locsig reverb channel 'chan' scaler to 'val
4132: """
+4133: return cclm.mus_locsig_reverb_set(gen._ptr, chan, val)
__pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_chan); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4133, __pyx_L1_error) __pyx_r = mus_locsig_reverb_set(__pyx_v_gen->_ptr, __pyx_t_1, __pyx_v_val); goto __pyx_L0;
4134:
+4135: cpdef void move_locsig(gen: mus_any, degree: cython.double, distance: cython.double):
static PyObject *__pyx_pw_8pysndlib_3clm_603move_locsig(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static void __pyx_f_8pysndlib_3clm_move_locsig(struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_degree, double __pyx_v_distance, CYTHON_UNUSED int __pyx_skip_dispatch) {
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("move_locsig", 0);
/* … */
/* function exit code */
__Pyx_RefNannyFinishContext();
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_603move_locsig(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_8pysndlib_3clm_602move_locsig, "\n move locsig gen to reflect degree and distance\n ");
static PyMethodDef __pyx_mdef_8pysndlib_3clm_603move_locsig = {"move_locsig", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_603move_locsig, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8pysndlib_3clm_602move_locsig};
static PyObject *__pyx_pw_8pysndlib_3clm_603move_locsig(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen = 0;
double __pyx_v_degree;
double __pyx_v_distance;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("move_locsig (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,&__pyx_n_s_degree,&__pyx_n_s_distance,0};
PyObject* values[3] = {0,0,0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4135, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_degree)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4135, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("move_locsig", 1, 3, 3, 1); __PYX_ERR(0, 4135, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_distance)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4135, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("move_locsig", 1, 3, 3, 2); __PYX_ERR(0, 4135, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "move_locsig") < 0)) __PYX_ERR(0, 4135, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 3)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
}
__pyx_v_gen = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)values[0]);
__pyx_v_degree = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_degree == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4135, __pyx_L3_error)
__pyx_v_distance = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_distance == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4135, __pyx_L3_error)
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("move_locsig", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 4135, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.move_locsig", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gen), __pyx_ptype_8pysndlib_3clm_mus_any, 0, "gen", 0))) __PYX_ERR(0, 4135, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_602move_locsig(__pyx_self, __pyx_v_gen, __pyx_v_degree, __pyx_v_distance);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_602move_locsig(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_gen, double __pyx_v_degree, double __pyx_v_distance) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("move_locsig", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_f_8pysndlib_3clm_move_locsig(__pyx_v_gen, __pyx_v_degree, __pyx_v_distance, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4135, __pyx_L1_error)
__pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4135, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.move_locsig", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__563 = PyTuple_Pack(3, __pyx_n_s_gen, __pyx_n_s_degree, __pyx_n_s_distance); if (unlikely(!__pyx_tuple__563)) __PYX_ERR(0, 4135, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__563);
__Pyx_GIVEREF(__pyx_tuple__563);
/* … */
__pyx_t_40 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 4135, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_gen, __pyx_n_s_mus_any) < 0) __PYX_ERR(0, 4135, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_degree, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 4135, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_40, __pyx_n_s_distance, __pyx_kp_s_cython_double) < 0) __PYX_ERR(0, 4135, __pyx_L1_error)
__pyx_t_41 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_603move_locsig, 0, __pyx_n_s_move_locsig, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__564)); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 4135, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_41, __pyx_t_40);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_move_locsig, __pyx_t_41) < 0) __PYX_ERR(0, 4135, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_codeobj__564 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__563, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_move_locsig, 4135, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__564)) __PYX_ERR(0, 4135, __pyx_L1_error)
4136: """
4137: move locsig gen to reflect degree and distance
4138: """
+4139: cclm.mus_move_locsig(gen._ptr, degree, distance)
mus_move_locsig(__pyx_v_gen->_ptr, __pyx_v_degree, __pyx_v_distance);
4140:
4141:
4142: # added some options . todo: what about sample rate conversion
+4143: cpdef convolve_files(file1: str, file2: str, maxamp: Optional[cython.double]=1., outputfile='test.aif', sample_type=CLM.sample_type, header_type=CLM.header_type):
static PyObject *__pyx_pw_8pysndlib_3clm_605convolve_files(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_f_8pysndlib_3clm_convolve_files(PyObject *__pyx_v_file1, PyObject *__pyx_v_file2, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_8pysndlib_3clm_convolve_files *__pyx_optional_args) {
PyObject *__pyx_v_maxamp = ((PyObject *)__pyx_float_1_);
PyObject *__pyx_v_outputfile = ((PyObject *)__pyx_kp_s_test_aif);
PyObject *__pyx_v_sample_type = __pyx_k__49;
PyObject *__pyx_v_header_type = __pyx_k__50;
PyObject *__pyx_v_temp_file = NULL;
mus_long_t __pyx_v_length;
struct __pyx_obj_8pysndlib_3clm_mus_any *__pyx_v_reader = NULL;
mus_long_t __pyx_v_i;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("convolve_files", 0);
if (__pyx_optional_args) {
if (__pyx_optional_args->__pyx_n > 0) {
__pyx_v_maxamp = __pyx_optional_args->maxamp;
if (__pyx_optional_args->__pyx_n > 1) {
__pyx_v_outputfile = __pyx_optional_args->outputfile;
if (__pyx_optional_args->__pyx_n > 2) {
__pyx_v_sample_type = __pyx_optional_args->sample_type;
if (__pyx_optional_args->__pyx_n > 3) {
__pyx_v_header_type = __pyx_optional_args->header_type;
}
}
}
}
}
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_AddTraceback("pysndlib.clm.convolve_files", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = 0;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_temp_file);
__Pyx_XDECREF((PyObject *)__pyx_v_reader);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_605convolve_files(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_605convolve_files = {"convolve_files", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_605convolve_files, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_605convolve_files(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_file1 = 0;
PyObject *__pyx_v_file2 = 0;
PyObject *__pyx_v_maxamp = 0;
PyObject *__pyx_v_outputfile = 0;
PyObject *__pyx_v_sample_type = 0;
PyObject *__pyx_v_header_type = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("convolve_files (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_file1,&__pyx_n_s_file2,&__pyx_n_s_maxamp_3,&__pyx_n_s_outputfile,&__pyx_n_s_sample_type,&__pyx_n_s_header_type,0};
PyObject* values[6] = {0,0,0,0,0,0};
values[2] = ((PyObject *)__pyx_float_1_);
values[3] = ((PyObject *)__pyx_kp_s_test_aif);
values[4] = __pyx_k__49;
values[5] = __pyx_k__50;
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_file1)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4143, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_file2)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4143, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("convolve_files", 0, 2, 6, 1); __PYX_ERR(0, 4143, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_maxamp_3);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4143, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_outputfile);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4143, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_sample_type);
if (value) { values[4] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4143, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_header_type);
if (value) { values[5] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4143, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "convolve_files") < 0)) __PYX_ERR(0, 4143, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_file1 = ((PyObject*)values[0]);
__pyx_v_file2 = ((PyObject*)values[1]);
__pyx_v_maxamp = values[2];
__pyx_v_outputfile = values[3];
__pyx_v_sample_type = values[4];
__pyx_v_header_type = values[5];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("convolve_files", 0, 2, 6, __pyx_nargs); __PYX_ERR(0, 4143, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.convolve_files", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_file1), (&PyString_Type), 0, "file1", 1))) __PYX_ERR(0, 4143, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_file2), (&PyString_Type), 0, "file2", 1))) __PYX_ERR(0, 4143, __pyx_L1_error)
__pyx_r = __pyx_pf_8pysndlib_3clm_604convolve_files(__pyx_self, __pyx_v_file1, __pyx_v_file2, __pyx_v_maxamp, __pyx_v_outputfile, __pyx_v_sample_type, __pyx_v_header_type);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_604convolve_files(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_file1, PyObject *__pyx_v_file2, PyObject *__pyx_v_maxamp, PyObject *__pyx_v_outputfile, PyObject *__pyx_v_sample_type, PyObject *__pyx_v_header_type) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("convolve_files", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_2.__pyx_n = 4;
__pyx_t_2.maxamp = __pyx_v_maxamp;
__pyx_t_2.outputfile = __pyx_v_outputfile;
__pyx_t_2.sample_type = __pyx_v_sample_type;
__pyx_t_2.header_type = __pyx_v_header_type;
__pyx_t_1 = __pyx_f_8pysndlib_3clm_convolve_files(__pyx_v_file1, __pyx_v_file2, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4143, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("pysndlib.clm.convolve_files", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_CLM); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 4143, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_sample_type); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 4143, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_k__49 = __pyx_t_40;
__Pyx_GIVEREF(__pyx_t_40);
__pyx_t_40 = 0;
__Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_CLM); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 4143, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_header_type); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 4143, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_k__50 = __pyx_t_41;
__Pyx_GIVEREF(__pyx_t_41);
__pyx_t_41 = 0;
/* … */
__pyx_tuple__565 = PyTuple_Pack(6, __pyx_n_s_file1, __pyx_n_s_file2, __pyx_n_s_maxamp_3, __pyx_n_s_outputfile, __pyx_n_s_sample_type, __pyx_n_s_header_type); if (unlikely(!__pyx_tuple__565)) __PYX_ERR(0, 4143, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__565);
__Pyx_GIVEREF(__pyx_tuple__565);
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_CLM); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 4143, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_sample_type); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 4143, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_GetModuleGlobalName(__pyx_t_41, __pyx_n_s_CLM); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 4143, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_41, __pyx_n_s_header_type); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 4143, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__pyx_t_41 = PyTuple_New(4); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 4143, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_41);
__Pyx_INCREF(__pyx_float_1_);
__Pyx_GIVEREF(__pyx_float_1_);
PyTuple_SET_ITEM(__pyx_t_41, 0, __pyx_float_1_);
__Pyx_INCREF(__pyx_kp_s_test_aif);
__Pyx_GIVEREF(__pyx_kp_s_test_aif);
PyTuple_SET_ITEM(__pyx_t_41, 1, __pyx_kp_s_test_aif);
__Pyx_GIVEREF(__pyx_t_40);
PyTuple_SET_ITEM(__pyx_t_41, 2, __pyx_t_40);
__Pyx_GIVEREF(__pyx_t_37);
PyTuple_SET_ITEM(__pyx_t_41, 3, __pyx_t_37);
__pyx_t_40 = 0;
__pyx_t_37 = 0;
__pyx_t_37 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 4143, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_37);
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_file1, __pyx_n_s_str_2) < 0) __PYX_ERR(0, 4143, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_file2, __pyx_n_s_str_2) < 0) __PYX_ERR(0, 4143, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_37, __pyx_n_s_maxamp_3, __pyx_kp_s_Optional_cython_double) < 0) __PYX_ERR(0, 4143, __pyx_L1_error)
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_605convolve_files, 0, __pyx_n_s_convolve_files, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__566)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 4143, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_t_41);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_40, __pyx_t_37);
__Pyx_DECREF(__pyx_t_41); __pyx_t_41 = 0;
__Pyx_DECREF(__pyx_t_37); __pyx_t_37 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_convolve_files, __pyx_t_40) < 0) __PYX_ERR(0, 4143, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_codeobj__566 = (PyObject*)__Pyx_PyCode_New(6, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__565, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_convolve_files, 4143, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__566)) __PYX_ERR(0, 4143, __pyx_L1_error)
/* … */
struct __pyx_opt_args_8pysndlib_3clm_convolve_files {
int __pyx_n;
PyObject *maxamp;
PyObject *outputfile;
PyObject *sample_type;
PyObject *header_type;
};
+4144: if header_type == header.next:
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_header); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_next); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyObject_RichCompare(__pyx_v_header_type, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4144, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 4144, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L3; }
+4145: cclm.mus_convolve_files(file1, file2, maxamp,outputfile)
__pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_file1); if (unlikely((!__pyx_t_4) && PyErr_Occurred())) __PYX_ERR(0, 4145, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_file2); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(0, 4145, __pyx_L1_error) __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_v_maxamp); if (unlikely((__pyx_t_6 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4145, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_AsString(__pyx_v_outputfile); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(0, 4145, __pyx_L1_error) mus_convolve_files(__pyx_t_4, __pyx_t_5, __pyx_t_6, __pyx_t_7);
4146: else:
+4147: temp_file = tempfile.gettempdir() + '/' + 'temp-' + outputfile
/*else*/ {
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempfile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4147, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_gettempdir); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4147, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
__pyx_t_9 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_8, function);
__pyx_t_9 = 1;
}
}
{
PyObject *__pyx_callargs[1] = {__pyx_t_2, };
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4147, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__pyx_t_8 = PyNumber_Add(__pyx_t_1, __pyx_kp_s__51); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4147, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = PyNumber_Add(__pyx_t_8, __pyx_kp_s_temp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4147, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = PyNumber_Add(__pyx_t_1, __pyx_v_outputfile); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4147, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_temp_file = __pyx_t_8;
__pyx_t_8 = 0;
+4148: cclm.mus_convolve_files(file1, file2, maxamp, temp_file)
__pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_file1); if (unlikely((!__pyx_t_4) && PyErr_Occurred())) __PYX_ERR(0, 4148, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_file2); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(0, 4148, __pyx_L1_error) __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_v_maxamp); if (unlikely((__pyx_t_6 == ((mus_float_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4148, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_AsString(__pyx_v_temp_file); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(0, 4148, __pyx_L1_error) mus_convolve_files(__pyx_t_4, __pyx_t_5, __pyx_t_6, __pyx_t_7);
+4149: with Sound(outputfile, header_type=header_type, sample_type=sample_type):
/*with:*/ {
__Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_Sound); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4149, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4149, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_outputfile);
__Pyx_GIVEREF(__pyx_v_outputfile);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_outputfile);
__pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4149, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_header_type, __pyx_v_header_type) < 0) __PYX_ERR(0, 4149, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_sample_type, __pyx_v_sample_type) < 0) __PYX_ERR(0, 4149, __pyx_L1_error)
__pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4149, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_10, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4149, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_10, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4149, __pyx_L4_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_8 = NULL;
__pyx_t_9 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
__pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1);
if (likely(__pyx_t_8)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
__Pyx_INCREF(__pyx_t_8);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_1, function);
__pyx_t_9 = 1;
}
}
{
PyObject *__pyx_callargs[1] = {__pyx_t_8, };
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4149, __pyx_L4_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
/*try:*/ {
{
/*try:*/ {
/* … */
}
__Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
__Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
goto __pyx_L13_try_end;
__pyx_L8_error:;
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
/*except:*/ {
__Pyx_AddTraceback("pysndlib.clm.convolve_files", __pyx_clineno, __pyx_lineno, __pyx_filename);
if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_10, &__pyx_t_1) < 0) __PYX_ERR(0, 4149, __pyx_L10_except_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GOTREF(__pyx_t_10);
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_8 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_10, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4149, __pyx_L10_except_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_8, NULL);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4149, __pyx_L10_except_error)
__Pyx_GOTREF(__pyx_t_20);
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_20);
__Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
if (__pyx_t_3 < 0) __PYX_ERR(0, 4149, __pyx_L10_except_error)
__pyx_t_21 = (!__pyx_t_3);
if (unlikely(__pyx_t_21)) {
__Pyx_GIVEREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_10);
__Pyx_XGIVEREF(__pyx_t_1);
__Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_10, __pyx_t_1);
__pyx_t_2 = 0; __pyx_t_10 = 0; __pyx_t_1 = 0;
__PYX_ERR(0, 4149, __pyx_L10_except_error)
}
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
goto __pyx_L9_exception_handled;
}
__pyx_L10_except_error:;
__Pyx_XGIVEREF(__pyx_t_12);
__Pyx_XGIVEREF(__pyx_t_13);
__Pyx_XGIVEREF(__pyx_t_14);
__Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
goto __pyx_L1_error;
__pyx_L9_exception_handled:;
__Pyx_XGIVEREF(__pyx_t_12);
__Pyx_XGIVEREF(__pyx_t_13);
__Pyx_XGIVEREF(__pyx_t_14);
__Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
__pyx_L13_try_end:;
}
}
/*finally:*/ {
/*normal exit:*/{
if (__pyx_t_11) {
__pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__52, NULL);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4149, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
}
goto __pyx_L7;
}
__pyx_L7:;
}
goto __pyx_L19;
__pyx_L4_error:;
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
goto __pyx_L1_error;
__pyx_L19:;
}
}
__pyx_L3:;
/* … */
__pyx_tuple__52 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__52)) __PYX_ERR(0, 4149, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__52);
__Pyx_GIVEREF(__pyx_tuple__52);
+4150: length = seconds2samples(csndlib.mus_sound_duration(temp_file))
__pyx_t_15 = __Pyx_PyObject_AsString(__pyx_v_temp_file); if (unlikely((!__pyx_t_15) && PyErr_Occurred())) __PYX_ERR(0, 4150, __pyx_L8_error) __pyx_t_16 = __pyx_f_8pysndlib_3clm_seconds2samples(mus_sound_duration(__pyx_t_15), 0); if (unlikely(__pyx_t_16 == ((mus_long_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 4150, __pyx_L8_error) __pyx_v_length = __pyx_t_16;
+4151: reader = make_readin(temp_file)
if (!(likely(PyString_CheckExact(__pyx_v_temp_file))||((__pyx_v_temp_file) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_v_temp_file))) __PYX_ERR(0, 4151, __pyx_L8_error) __pyx_t_10 = ((PyObject *)__pyx_f_8pysndlib_3clm_make_readin(((PyObject*)__pyx_v_temp_file), 0, NULL)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4151, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_10); __pyx_v_reader = ((struct __pyx_obj_8pysndlib_3clm_mus_any *)__pyx_t_10); __pyx_t_10 = 0;
+4152: for i in range(0, length):
__pyx_t_16 = __pyx_v_length;
__pyx_t_17 = __pyx_t_16;
for (__pyx_t_18 = 0; __pyx_t_18 < __pyx_t_17; __pyx_t_18+=1) {
__pyx_v_i = __pyx_t_18;
+4153: outa(i, readin(reader))
__pyx_t_10 = __Pyx_PyInt_From_mus_long_t(__pyx_v_i); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4153, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_10); if (!(likely(__Pyx_Py3Int_CheckExact(__pyx_t_10)) || __Pyx_RaiseUnexpectedTypeError("int", __pyx_t_10))) __PYX_ERR(0, 4153, __pyx_L8_error) __pyx_t_19 = __pyx_f_8pysndlib_3clm_readin(__pyx_v_reader, 0); if (unlikely(__pyx_t_19 == ((double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4153, __pyx_L8_error) __pyx_t_2 = __pyx_f_8pysndlib_3clm_outa(((PyObject*)__pyx_t_10), __pyx_t_19, 0, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4153, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; }
+4154: return outputfile
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_outputfile); __pyx_r = __pyx_v_outputfile; goto __pyx_L0;
4155:
4156:
4157: #########################################
4158: # basic file reading/writing to/from nympy arrays
4159: # note all of this assumes numpy dtype is np.double
4160: # also assumes shape is (chan, length)
4161: # a mono file that is 8000 samples long should
4162: # be a numpy array created with something like
4163: # arr = np.zeroes((1,8000), dtype=np.double)
4164: # librosa follows this convention
4165: # todo : look at allowing something like np.zeroes((8000), dtype=np.double)
4166: # to just be treated as mono sound buffer
4167: # the python soundfile library does this differently
4168: # and would use
4169: # arr = np.zeros((8000,1), dtype=np.double))
4170: # this seems less intuitive to me
4171: # very issue to translate with simple np.transpose()
4172:
4173:
4174: # cpdef sndinfo(filename):
4175: # """returns a dictionary of info about a sound file including write date (data), sample rate (srate),
4176: # channels (chans), length in samples (samples), length in second (length), comment (comment), and loop information (loopinfo)"""
4177: # date = csndlib.mus_sound_write_date(filename)
4178: # srate = csndlib.mus_sound_srate(filename)
4179: # chans = csndlib.mus_sound_chans(filename)
4180: # samples = csndlib.mus_sound_samples(filename)
4181: # comment = csndlib.mus_sound_comment(filename)
4182: # length = samples / (chans * srate)
4183: #
4184: # header_type = header(mus_sound_header_type(filename))
4185: # sample_type = sample(mus_sound_sample_type(filename))
4186: #
4187: # loop_info = mus_sound_loop_info(filename)
4188: # if loop_info:
4189: # loop_modes = [loop_info[6], loop_info[7]]
4190: # loop_starts = [loop_info[0], loop_info[2]]
4191: # loop_ends = [loop_info[1], loop_info[3]]
4192: # base_note = loop_info[4]
4193: # base_detune = loop_info[5]
4194: #
4195: # loop_info = {'sustain_start' : loop_starts[0], 'sustain_end' : loop_ends[0],
4196: # 'release_start' : loop_starts[2], 'release_end' : loop_ends[1],
4197: # 'base_note' : base_note, 'base_detune' : base_detune,
4198: # 'sustain_mode' : loop_modes[0], 'release_mode' : loop_modes[1]}
4199: #
4200: # info = {'date' : time.localtime(date), 'srate' : srate, 'chans' : chans, 'samples' : samples,
4201: # 'comment' : comment, 'length' : length, 'header_type' : header_type, 'sample_type' : sample_type,
4202: # 'loop_info' : loop_info}
4203: # return info
4204:
4205: # def sound_loop_info(filename):
4206: # """returns a dictionary of info about a sound file including write date (data), sample rate (srate),
4207: # channels (chans), length in samples (samples), length in second (length), comment (comment), and loop information (loopinfo)"""
4208: #
4209: # loop_info = sndlib.mus_sound_loop_info(filename)
4210: # if loop_info:
4211: # loop_modes = [loop_info[6], loop_info[7]]
4212: # loop_starts = [loop_info[0], loop_info[2]]
4213: # loop_ends = [loop_info[1], loop_info[3]]
4214: # base_note = loop_info[4]
4215: # base_detune = loop_info[5]
4216: #
4217: # loop_info = {'sustain_start' : loop_starts[0], 'sustain_end' : loop_ends[0],
4218: # 'release_start' : loop_starts[2], 'release_end' : loop_ends[1],
4219: # 'base_note' : base_note, 'base_detune' : base_detune,
4220: # 'sustain_mode' : loop_modes[0], 'release_mode' : loop_modes[1]}
4221: # return info
4222: #
4223: # cpdef np.ndarray file2array(filename: str, channel: Optional[int]=0, beg: Optional[int]=None, dur: Optional[int]=None):
4224: # """
4225: # return an ndarray with samples from file
4226: # """
4227: # length = dur or csndlib.mus_sound_framples(filename)
4228: # chans = csndlib.mus_sound_chans(filename)
4229: # srate = csndlib.mus_sound_srate(filename)
4230: # bg = beg or 0
4231: # out = np.zeros(length, dtype=np.double)
4232: #
4233: # cdef double [:] out_view = None
4234: # out_view = out
4235: #
4236: # csndlib.mus_file_to_array(filename,channel, bg, length, &out_view[0])
4237: # return out
4238: #
4239: # def channel2array(filename: str, channel: Optional[int]=0, beg: Optional[int]=None, dur: Optional[int]=None):
4240: # length = dur or mus_sound_framples(filename)
4241: # srate = mus_sound_srate(filename)
4242: # bg = beg or 0
4243: # out = np.zeros((1, length), dtype=np.double)
4244: # mus_file_to_array(filename,channel, bg, length, out[0].ctypes.data_as(ctypes.pointer(ctypes.c_double)))
4245: # return out
4246: #
4247: # def calc_length(start, dur):
4248: # st = seconds2samples(start)
4249: # nd = seconds2samples(start+dur)
4250: # return st, nd
4251: #
4252: # def convert_frequency(gen):
4253: # gen.frequency = hz2radians(gen.frequency)
4254: # return gen
4255: #
4256: # # todo: maybe add an exception that have to use keyword args
+4257: def make_generator(name, slots, wrapper=None, methods=None, docstring=None):
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_607make_generator(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_607make_generator = {"make_generator", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_607make_generator, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_607make_generator(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_name = 0;
PyObject *__pyx_v_slots = 0;
PyObject *__pyx_v_wrapper = 0;
PyObject *__pyx_v_methods = 0;
PyObject *__pyx_v_docstring = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_generator (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,&__pyx_n_s_slots,&__pyx_n_s_wrapper,&__pyx_n_s_methods,&__pyx_n_s_docstring,0};
PyObject* values[5] = {0,0,0,0,0};
values[2] = ((PyObject *)((PyObject *)Py_None));
values[3] = ((PyObject *)((PyObject *)Py_None));
values[4] = ((PyObject *)((PyObject *)Py_None));
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4257, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_slots)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4257, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("make_generator", 0, 2, 5, 1); __PYX_ERR(0, 4257, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_wrapper);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4257, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_methods);
if (value) { values[3] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4257, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_docstring);
if (value) { values[4] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4257, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "make_generator") < 0)) __PYX_ERR(0, 4257, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_name = values[0];
__pyx_v_slots = values[1];
__pyx_v_wrapper = values[2];
__pyx_v_methods = values[3];
__pyx_v_docstring = values[4];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("make_generator", 0, 2, 5, __pyx_nargs); __PYX_ERR(0, 4257, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_generator", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_606make_generator(__pyx_self, __pyx_v_name, __pyx_v_slots, __pyx_v_wrapper, __pyx_v_methods, __pyx_v_docstring);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
static PyObject *__pyx_pf_8pysndlib_3clm_606make_generator(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_name, PyObject *__pyx_v_slots, PyObject *__pyx_v_wrapper, PyObject *__pyx_v_methods, PyObject *__pyx_v_docstring) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_10_make_generator *__pyx_cur_scope;
PyObject *__pyx_v_make_generator = 0;
PyObject *__pyx_v_is_a = 0;
PyObject *__pyx_v_g = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_generator", 0);
__pyx_cur_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_10_make_generator *)__pyx_tp_new_8pysndlib_3clm___pyx_scope_struct_10_make_generator(__pyx_ptype_8pysndlib_3clm___pyx_scope_struct_10_make_generator, __pyx_empty_tuple, NULL);
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_10_make_generator *)Py_None);
__Pyx_INCREF(Py_None);
__PYX_ERR(0, 4257, __pyx_L1_error)
} else {
__Pyx_GOTREF((PyObject *)__pyx_cur_scope);
}
__pyx_cur_scope->__pyx_v_name = __pyx_v_name;
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_name);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_name);
__pyx_cur_scope->__pyx_v_wrapper = __pyx_v_wrapper;
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_wrapper);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_wrapper);
__pyx_cur_scope->__pyx_v_methods = __pyx_v_methods;
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_methods);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_methods);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.make_generator", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_make_generator);
__Pyx_XDECREF(__pyx_v_is_a);
__Pyx_XDECREF(__pyx_v_g);
__Pyx_DECREF((PyObject *)__pyx_cur_scope);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__567 = PyTuple_Pack(11, __pyx_n_s_name, __pyx_n_s_slots, __pyx_n_s_wrapper, __pyx_n_s_methods, __pyx_n_s_docstring, __pyx_n_s_mus_gen, __pyx_n_s_make_generator, __pyx_n_s_make_generator, __pyx_n_s_is_a, __pyx_n_s_is_a, __pyx_n_s_g); if (unlikely(!__pyx_tuple__567)) __PYX_ERR(0, 4257, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__567);
__Pyx_GIVEREF(__pyx_tuple__567);
__pyx_codeobj__568 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__567, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_generator, 4257, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__568)) __PYX_ERR(0, 4257, __pyx_L1_error)
/* … */
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_607make_generator, 0, __pyx_n_s_make_generator, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__568)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 4257, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_tuple__569);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_generator, __pyx_t_40) < 0) __PYX_ERR(0, 4257, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_tuple__569 = PyTuple_Pack(3, ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__569)) __PYX_ERR(0, 4257, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__569);
__Pyx_GIVEREF(__pyx_tuple__569);
/* … */
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_10_make_generator {
PyObject_HEAD
PyObject *__pyx_v_methods;
PyObject *__pyx_v_mus_gen;
PyObject *__pyx_v_name;
PyObject *__pyx_v_wrapper;
};
+4258: class mus_gen():
__pyx_t_1 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_mus_gen, __pyx_n_s_make_generator_locals_mus_gen, (PyObject *) NULL, __pyx_n_s_pysndlib_clm, (PyObject *) NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_Py3ClassCreate(((PyObject*)&PyType_Type), __pyx_n_s_mus_gen, __pyx_empty_tuple, __pyx_t_1, NULL, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_cur_scope->__pyx_v_mus_gen = __pyx_t_2; __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4259: pass
+4260: def make_generator(**kwargs):
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_14make_generator_1make_generator(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_14make_generator_1make_generator = {"make_generator", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_14make_generator_1make_generator, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_14make_generator_1make_generator(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_kwargs = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_generator (wrapper)", 0);
if (unlikely(__pyx_nargs > 0)) {
__Pyx_RaiseArgtupleInvalid("make_generator", 1, 0, 0, __pyx_nargs); return NULL;}
if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "make_generator", 1))) return NULL;
if (__pyx_kwds) {
__pyx_v_kwargs = __Pyx_KwargsAsDict_FASTCALL(__pyx_kwds, __pyx_kwvalues);
if (unlikely(!__pyx_v_kwargs)) return NULL;
__Pyx_GOTREF(__pyx_v_kwargs);
} else {
__pyx_v_kwargs = PyDict_New();
if (unlikely(!__pyx_v_kwargs)) return NULL;
__Pyx_GOTREF(__pyx_v_kwargs);
}
__pyx_r = __pyx_pf_8pysndlib_3clm_14make_generator_make_generator(__pyx_self, __pyx_v_kwargs);
/* function exit code */
__Pyx_DECREF(__pyx_v_kwargs);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_14make_generator_make_generator(PyObject *__pyx_self, PyObject *__pyx_v_kwargs) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_10_make_generator *__pyx_cur_scope;
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_10_make_generator *__pyx_outer_scope;
PyObject *__pyx_v_gen = NULL;
PyObject *__pyx_v_k = NULL;
PyObject *__pyx_v_v = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("make_generator", 0);
__pyx_outer_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_10_make_generator *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_AddTraceback("pysndlib.clm.make_generator.make_generator", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_gen);
__Pyx_XDECREF(__pyx_v_k);
__Pyx_XDECREF(__pyx_v_v);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__53 = PyTuple_Pack(4, __pyx_n_s_kwargs, __pyx_n_s_gen, __pyx_n_s_k, __pyx_n_s_v); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 4260, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__53);
__Pyx_GIVEREF(__pyx_tuple__53);
/* … */
__pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_14make_generator_1make_generator, 0, __pyx_n_s_make_generator_locals_make_gener, ((PyObject*)__pyx_cur_scope), __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__54)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4260, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_make_generator = __pyx_t_1;
__pyx_t_1 = 0;
__pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_make_generator, 4260, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) __PYX_ERR(0, 4260, __pyx_L1_error)
+4261: gen = mus_gen()
if (unlikely(!__pyx_cur_scope->__pyx_v_mus_gen)) { __Pyx_RaiseClosureNameError("mus_gen"); __PYX_ERR(0, 4261, __pyx_L1_error) }
__pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_cur_scope->__pyx_v_mus_gen); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4261, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_gen = __pyx_t_1;
__pyx_t_1 = 0;
+4262: setattr(gen, 'name', name)
if (unlikely(!__pyx_cur_scope->__pyx_v_name)) { __Pyx_RaiseClosureNameError("name"); __PYX_ERR(0, 4262, __pyx_L1_error) }
__pyx_t_1 = __pyx_cur_scope->__pyx_v_name;
__Pyx_INCREF(__pyx_t_1);
__pyx_t_2 = PyObject_SetAttr(__pyx_v_gen, __pyx_n_s_name, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 4262, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+4263: for k, v in kwargs.items():
__pyx_t_3 = 0; __pyx_t_6 = __Pyx_dict_iterator(__pyx_v_kwargs, 1, __pyx_n_s_items, (&__pyx_t_4), (&__pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = __pyx_t_6; __pyx_t_6 = 0; while (1) { __pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_4, &__pyx_t_3, &__pyx_t_6, &__pyx_t_7, NULL, __pyx_t_5); if (unlikely(__pyx_t_8 == 0)) break; if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(0, 4263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_7); __pyx_t_7 = 0;
+4264: setattr(gen, k, v)
__pyx_t_2 = PyObject_SetAttr(__pyx_v_gen, __pyx_v_k, __pyx_v_v); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 4264, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+4265: if methods:
if (unlikely(!__pyx_cur_scope->__pyx_v_methods)) { __Pyx_RaiseClosureNameError("methods"); __PYX_ERR(0, 4265, __pyx_L1_error) }
__pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_methods); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 4265, __pyx_L1_error)
if (__pyx_t_9) {
/* … */
}
+4266: for k, v in methods.items():
__pyx_t_4 = 0;
if (unlikely(!__pyx_cur_scope->__pyx_v_methods)) { __Pyx_RaiseClosureNameError("methods"); __PYX_ERR(0, 4266, __pyx_L1_error) }
if (unlikely(__pyx_cur_scope->__pyx_v_methods == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
__PYX_ERR(0, 4266, __pyx_L1_error)
}
__pyx_t_7 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_v_methods, 0, __pyx_n_s_items, (&__pyx_t_3), (&__pyx_t_5)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4266, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_1);
__pyx_t_1 = __pyx_t_7;
__pyx_t_7 = 0;
while (1) {
__pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_4, &__pyx_t_7, &__pyx_t_6, NULL, __pyx_t_5);
if (unlikely(__pyx_t_8 == 0)) break;
if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(0, 4266, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_GOTREF(__pyx_t_6);
__Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_7);
__pyx_t_7 = 0;
__Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_6);
__pyx_t_6 = 0;
+4267: setattr(mus_gen, k, property(v[0], v[1], None) )
if (unlikely(!__pyx_cur_scope->__pyx_v_mus_gen)) { __Pyx_RaiseClosureNameError("mus_gen"); __PYX_ERR(0, 4267, __pyx_L1_error) }
__pyx_t_6 = __pyx_cur_scope->__pyx_v_mus_gen;
__Pyx_INCREF(__pyx_t_6);
__pyx_t_7 = __Pyx_GetItemInt(__pyx_v_v, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4267, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_10 = __Pyx_GetItemInt(__pyx_v_v, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4267, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4267, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_GIVEREF(__pyx_t_7);
PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_7);
__Pyx_GIVEREF(__pyx_t_10);
PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_10);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_11, 2, Py_None);
__pyx_t_7 = 0;
__pyx_t_10 = 0;
__pyx_t_10 = __Pyx_PyObject_Call(__pyx_builtin_property, __pyx_t_11, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4267, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_2 = PyObject_SetAttr(__pyx_t_6, __pyx_v_k, __pyx_t_10); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 4267, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4268:
+4269: return gen if not wrapper else wrapper(gen)
__Pyx_XDECREF(__pyx_r); if (unlikely(!__pyx_cur_scope->__pyx_v_wrapper)) { __Pyx_RaiseClosureNameError("wrapper"); __PYX_ERR(0, 4269, __pyx_L1_error) } __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_wrapper); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 4269, __pyx_L1_error) if ((!__pyx_t_9)) { __Pyx_INCREF(__pyx_v_gen); __pyx_t_1 = __pyx_v_gen; } else { if (unlikely(!__pyx_cur_scope->__pyx_v_wrapper)) { __Pyx_RaiseClosureNameError("wrapper"); __PYX_ERR(0, 4269, __pyx_L1_error) } __Pyx_INCREF(__pyx_cur_scope->__pyx_v_wrapper); __pyx_t_6 = __pyx_cur_scope->__pyx_v_wrapper; __pyx_t_11 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_v_gen}; __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __pyx_t_1 = __pyx_t_10; __pyx_t_10 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
+4270: def is_a(gen):
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_14make_generator_3is_a(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_14make_generator_3is_a = {"is_a", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_14make_generator_3is_a, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_14make_generator_3is_a(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_gen = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_a (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gen,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gen)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4270, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "is_a") < 0)) __PYX_ERR(0, 4270, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_gen = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("is_a", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 4270, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.make_generator.is_a", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_14make_generator_2is_a(__pyx_self, __pyx_v_gen);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_14make_generator_2is_a(PyObject *__pyx_self, PyObject *__pyx_v_gen) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_10_make_generator *__pyx_cur_scope;
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_10_make_generator *__pyx_outer_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("is_a", 0);
__pyx_outer_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_10_make_generator *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.make_generator.is_a", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_14make_generator_3is_a, 0, __pyx_n_s_make_generator_locals_is_a, ((PyObject*)__pyx_cur_scope), __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__55)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4270, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_is_a = __pyx_t_1;
__pyx_t_1 = 0;
/* … */
__pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_is_a, 4270, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) __PYX_ERR(0, 4270, __pyx_L1_error)
+4271: return isinstance(gen, mus_gen) and gen.name == name
__Pyx_XDECREF(__pyx_r); if (unlikely(!__pyx_cur_scope->__pyx_v_mus_gen)) { __Pyx_RaiseClosureNameError("mus_gen"); __PYX_ERR(0, 4271, __pyx_L1_error) } __pyx_t_2 = __pyx_cur_scope->__pyx_v_mus_gen; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = PyObject_IsInstance(__pyx_v_gen, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 4271, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { } else { __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L3_bool_binop_done; } __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gen, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(!__pyx_cur_scope->__pyx_v_name)) { __Pyx_RaiseClosureNameError("name"); __PYX_ERR(0, 4271, __pyx_L1_error) } __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_cur_scope->__pyx_v_name, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4271, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_INCREF(__pyx_t_4); __pyx_t_1 = __pyx_t_4; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_L3_bool_binop_done:; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
+4272: g = partial(make_generator, **slots)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_partial); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4272, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4272, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_make_generator); __Pyx_GIVEREF(__pyx_v_make_generator); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_make_generator); if (unlikely(__pyx_v_slots == Py_None)) { PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType"); __PYX_ERR(0, 4272, __pyx_L1_error) } if (likely(PyDict_CheckExact(__pyx_v_slots))) { __pyx_t_3 = PyDict_Copy(__pyx_v_slots); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4272, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); } else { __pyx_t_3 = __Pyx_PyObject_CallOneArg((PyObject*)&PyDict_Type, __pyx_v_slots); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4272, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); } __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4272, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_g = __pyx_t_4; __pyx_t_4 = 0;
+4273: if docstring:
__pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_docstring); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 4273, __pyx_L1_error) if (__pyx_t_5) { /* … */ }
+4274: g.__doc__ = docstring
if (__Pyx_PyObject_SetAttrStr(__pyx_v_g, __pyx_n_s_doc, __pyx_v_docstring) < 0) __PYX_ERR(0, 4274, __pyx_L1_error)
4275:
+4276: return g, is_a
__Pyx_XDECREF(__pyx_r); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_g); __Pyx_GIVEREF(__pyx_v_g); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_g); __Pyx_INCREF(__pyx_v_is_a); __Pyx_GIVEREF(__pyx_v_is_a); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_is_a); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0;
4277:
4278:
+4279: def array_reader(arr, chan, loop=0):
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_609array_reader(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_609array_reader = {"array_reader", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_609array_reader, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_609array_reader(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_arr = 0;
PyObject *__pyx_v_chan = 0;
PyObject *__pyx_v_loop = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("array_reader (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_arr,&__pyx_n_s_chan,&__pyx_n_s_loop,0};
PyObject* values[3] = {0,0,0};
values[2] = ((PyObject *)((PyObject *)__pyx_int_0));
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_arr)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4279, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_chan)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4279, __pyx_L3_error)
else {
__Pyx_RaiseArgtupleInvalid("array_reader", 0, 2, 3, 1); __PYX_ERR(0, 4279, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_loop);
if (value) { values[2] = value; kw_args--; }
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4279, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "array_reader") < 0)) __PYX_ERR(0, 4279, __pyx_L3_error)
}
} else {
switch (__pyx_nargs) {
case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_arr = values[0];
__pyx_v_chan = values[1];
__pyx_v_loop = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("array_reader", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 4279, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.array_reader", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_608array_reader(__pyx_self, __pyx_v_arr, __pyx_v_chan, __pyx_v_loop);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
static PyObject *__pyx_pf_8pysndlib_3clm_608array_reader(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_chan, PyObject *__pyx_v_loop) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_11_array_reader *__pyx_cur_scope;
PyObject *__pyx_v_reader = 0;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("array_reader", 0);
__pyx_cur_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_11_array_reader *)__pyx_tp_new_8pysndlib_3clm___pyx_scope_struct_11_array_reader(__pyx_ptype_8pysndlib_3clm___pyx_scope_struct_11_array_reader, __pyx_empty_tuple, NULL);
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_11_array_reader *)Py_None);
__Pyx_INCREF(Py_None);
__PYX_ERR(0, 4279, __pyx_L1_error)
} else {
__Pyx_GOTREF((PyObject *)__pyx_cur_scope);
}
__pyx_cur_scope->__pyx_v_arr = __pyx_v_arr;
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_arr);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_arr);
__pyx_cur_scope->__pyx_v_chan = __pyx_v_chan;
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_chan);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_chan);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_AddTraceback("pysndlib.clm.array_reader", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_reader);
__Pyx_DECREF((PyObject *)__pyx_cur_scope);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__570 = PyTuple_Pack(8, __pyx_n_s_arr, __pyx_n_s_chan, __pyx_n_s_loop, __pyx_n_s_ind, __pyx_n_s_length, __pyx_n_s_reader, __pyx_n_s_reader, __pyx_n_s_reader); if (unlikely(!__pyx_tuple__570)) __PYX_ERR(0, 4279, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__570);
__Pyx_GIVEREF(__pyx_tuple__570);
__pyx_codeobj__571 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__570, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_array_reader, 4279, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__571)) __PYX_ERR(0, 4279, __pyx_L1_error)
/* … */
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_609array_reader, 0, __pyx_n_s_array_reader, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__571)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 4279, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_40, __pyx_tuple__572);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_array_reader, __pyx_t_40) < 0) __PYX_ERR(0, 4279, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
__pyx_tuple__572 = PyTuple_Pack(1, ((PyObject *)__pyx_int_0)); if (unlikely(!__pyx_tuple__572)) __PYX_ERR(0, 4279, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__572);
__Pyx_GIVEREF(__pyx_tuple__572);
/* … */
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_11_array_reader {
PyObject_HEAD
PyObject *__pyx_v_arr;
PyObject *__pyx_v_chan;
PyObject *__pyx_v_ind;
PyObject *__pyx_v_length;
};
+4280: ind = 0
__Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); __pyx_cur_scope->__pyx_v_ind = __pyx_int_0;
+4281: if chan > (clm_channels(arr)):
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_clm_channels); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_cur_scope->__pyx_v_arr}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __pyx_t_2 = PyObject_RichCompare(__pyx_cur_scope->__pyx_v_chan, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4281, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 4281, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(__pyx_t_5)) { /* … */ }
+4282: raise ValueError(f'array has {clm_channels(arr)} channels but {chan} asked for')
__pyx_t_2 = PyTuple_New(5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = 0; __pyx_t_7 = 127; __Pyx_INCREF(__pyx_kp_u_array_has); __pyx_t_6 += 10; __Pyx_GIVEREF(__pyx_kp_u_array_has); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u_array_has); __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_clm_channels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_cur_scope->__pyx_v_arr}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_7 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_7) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_7; __pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3); __pyx_t_3 = 0; __Pyx_INCREF(__pyx_kp_u_channels_but); __pyx_t_6 += 14; __Pyx_GIVEREF(__pyx_kp_u_channels_but); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u_channels_but); __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_chan, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_7) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_7; __pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_3); __pyx_t_3 = 0; __Pyx_INCREF(__pyx_kp_u_asked_for); __pyx_t_6 += 10; __Pyx_GIVEREF(__pyx_kp_u_asked_for); PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_kp_u_asked_for); __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_2, 5, __pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(0, 4282, __pyx_L1_error)
+4283: length = clm_length(arr)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_clm_length); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_4 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_cur_scope->__pyx_v_arr}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_GIVEREF(__pyx_t_2); __pyx_cur_scope->__pyx_v_length = __pyx_t_2; __pyx_t_2 = 0;
+4284: if loop:
__pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_loop); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 4284, __pyx_L1_error) if (__pyx_t_5) { /* … */ goto __pyx_L4; }
+4285: def reader(direction):
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_12array_reader_1reader(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_12array_reader_1reader = {"reader", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_12array_reader_1reader, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_12array_reader_1reader(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_direction = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("reader (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_direction,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_direction)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4285, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "reader") < 0)) __PYX_ERR(0, 4285, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_direction = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("reader", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 4285, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.array_reader.reader", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_12array_reader_reader(__pyx_self, __pyx_v_direction);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_12array_reader_reader(PyObject *__pyx_self, PyObject *__pyx_v_direction) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_11_array_reader *__pyx_cur_scope;
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_11_array_reader *__pyx_outer_scope;
PyObject *__pyx_v_v = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("reader", 0);
__pyx_outer_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_11_array_reader *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.array_reader.reader", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_v);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__56 = PyTuple_Pack(2, __pyx_n_s_direction, __pyx_n_s_v); if (unlikely(!__pyx_tuple__56)) __PYX_ERR(0, 4285, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__56);
__Pyx_GIVEREF(__pyx_tuple__56);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_12array_reader_1reader, 0, __pyx_n_s_array_reader_locals_reader, ((PyObject*)__pyx_cur_scope), __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__57)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4285, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_v_reader = __pyx_t_2;
__pyx_t_2 = 0;
__pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_reader, 4285, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) __PYX_ERR(0, 4285, __pyx_L1_error)
4286: nonlocal ind
+4287: v = arr[chan][ind]
if (unlikely(!__pyx_cur_scope->__pyx_v_arr)) { __Pyx_RaiseClosureNameError("arr"); __PYX_ERR(0, 4287, __pyx_L1_error) }
if (unlikely(!__pyx_cur_scope->__pyx_v_chan)) { __Pyx_RaiseClosureNameError("chan"); __PYX_ERR(0, 4287, __pyx_L1_error) }
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_cur_scope->__pyx_v_arr, __pyx_cur_scope->__pyx_v_chan); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4287, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (unlikely(!__pyx_cur_scope->__pyx_v_ind)) { __Pyx_RaiseClosureNameError("ind"); __PYX_ERR(0, 4287, __pyx_L1_error) }
__pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_cur_scope->__pyx_v_ind); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4287, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_v = __pyx_t_2;
__pyx_t_2 = 0;
+4288: ind += direction
if (unlikely(!__pyx_cur_scope->__pyx_v_ind)) { __Pyx_RaiseClosureNameError("ind"); __PYX_ERR(0, 4288, __pyx_L1_error) }
__pyx_t_2 = PyNumber_InPlaceAdd(__pyx_cur_scope->__pyx_v_ind, __pyx_v_direction); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4288, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_ind);
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_ind, __pyx_t_2);
__Pyx_GIVEREF(__pyx_t_2);
__pyx_t_2 = 0;
+4289: ind = wrap(ind, 0, length-1)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_wrap); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(!__pyx_cur_scope->__pyx_v_length)) { __Pyx_RaiseClosureNameError("length"); __PYX_ERR(0, 4289, __pyx_L1_error) } __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_cur_scope->__pyx_v_length, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[4] = {__pyx_t_4, __pyx_cur_scope->__pyx_v_ind, __pyx_int_0, __pyx_t_3}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 3+__pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_ind); __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_ind, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0;
+4290: return v
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_v); __pyx_r = __pyx_v_v; goto __pyx_L0;
4291:
4292: else:
+4293: def reader(direction):
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_12array_reader_3reader(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_12array_reader_3reader = {"reader", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_12array_reader_3reader, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_12array_reader_3reader(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_direction = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("reader (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_direction,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_direction)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4293, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "reader") < 0)) __PYX_ERR(0, 4293, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_direction = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("reader", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 4293, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.array_reader.reader", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_12array_reader_2reader(__pyx_self, __pyx_v_direction);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_12array_reader_2reader(PyObject *__pyx_self, PyObject *__pyx_v_direction) {
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_11_array_reader *__pyx_cur_scope;
struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_11_array_reader *__pyx_outer_scope;
PyObject *__pyx_v_v = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("reader", 0);
__pyx_outer_scope = (struct __pyx_obj_8pysndlib_3clm___pyx_scope_struct_11_array_reader *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.array_reader.reader", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_v);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
/*else*/ {
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_12array_reader_3reader, 0, __pyx_n_s_array_reader_locals_reader, ((PyObject*)__pyx_cur_scope), __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__58)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4293, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_v_reader = __pyx_t_2;
__pyx_t_2 = 0;
}
__pyx_L4:;
/* … */
__pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_pysndlib_clm_pyx, __pyx_n_s_reader, 4293, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) __PYX_ERR(0, 4293, __pyx_L1_error)
4294: nonlocal ind
+4295: v = arr[chan][ind]
if (unlikely(!__pyx_cur_scope->__pyx_v_arr)) { __Pyx_RaiseClosureNameError("arr"); __PYX_ERR(0, 4295, __pyx_L1_error) }
if (unlikely(!__pyx_cur_scope->__pyx_v_chan)) { __Pyx_RaiseClosureNameError("chan"); __PYX_ERR(0, 4295, __pyx_L1_error) }
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_cur_scope->__pyx_v_arr, __pyx_cur_scope->__pyx_v_chan); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4295, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (unlikely(!__pyx_cur_scope->__pyx_v_ind)) { __Pyx_RaiseClosureNameError("ind"); __PYX_ERR(0, 4295, __pyx_L1_error) }
__pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_cur_scope->__pyx_v_ind); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4295, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_v = __pyx_t_2;
__pyx_t_2 = 0;
+4296: ind += direction
if (unlikely(!__pyx_cur_scope->__pyx_v_ind)) { __Pyx_RaiseClosureNameError("ind"); __PYX_ERR(0, 4296, __pyx_L1_error) }
__pyx_t_2 = PyNumber_InPlaceAdd(__pyx_cur_scope->__pyx_v_ind, __pyx_v_direction); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4296, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_ind);
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_ind, __pyx_t_2);
__Pyx_GIVEREF(__pyx_t_2);
__pyx_t_2 = 0;
+4297: ind = clip(ind, 0, length-1)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_clip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(!__pyx_cur_scope->__pyx_v_length)) { __Pyx_RaiseClosureNameError("length"); __PYX_ERR(0, 4297, __pyx_L1_error) } __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_cur_scope->__pyx_v_length, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[4] = {__pyx_t_4, __pyx_cur_scope->__pyx_v_ind, __pyx_int_0, __pyx_t_3}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 3+__pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_ind); __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_ind, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0;
+4298: return v
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_v); __pyx_r = __pyx_v_v; goto __pyx_L0;
+4299: return reader
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_reader); __pyx_r = __pyx_v_reader; goto __pyx_L0;
4300:
+4301: def sndplay(file):
/* Python wrapper */
static PyObject *__pyx_pw_8pysndlib_3clm_611sndplay(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_8pysndlib_3clm_611sndplay = {"sndplay", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8pysndlib_3clm_611sndplay, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_8pysndlib_3clm_611sndplay(PyObject *__pyx_self,
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
PyObject *__pyx_v_file = 0;
#if !CYTHON_METH_FASTCALL
CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
#endif
CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("sndplay (wrapper)", 0);
{
PyObject **__pyx_pyargnames[] = {&__pyx_n_s_file,0};
PyObject* values[1] = {0};
if (__pyx_kwds) {
Py_ssize_t kw_args;
switch (__pyx_nargs) {
case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
switch (__pyx_nargs) {
case 0:
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_file)) != 0)) kw_args--;
else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4301, __pyx_L3_error)
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t kwd_pos_args = __pyx_nargs;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "sndplay") < 0)) __PYX_ERR(0, 4301, __pyx_L3_error)
}
} else if (unlikely(__pyx_nargs != 1)) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
}
__pyx_v_file = values[0];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("sndplay", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 4301, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("pysndlib.clm.sndplay", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_8pysndlib_3clm_610sndplay(__pyx_self, __pyx_v_file);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_8pysndlib_3clm_610sndplay(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_file) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("sndplay", 0);
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("pysndlib.clm.sndplay", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__573 = PyTuple_Pack(1, __pyx_n_s_file); if (unlikely(!__pyx_tuple__573)) __PYX_ERR(0, 4301, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__573);
__Pyx_GIVEREF(__pyx_tuple__573);
/* … */
__pyx_t_40 = __Pyx_CyFunction_New(&__pyx_mdef_8pysndlib_3clm_611sndplay, 0, __pyx_n_s_sndplay, NULL, __pyx_n_s_pysndlib_clm, __pyx_d, ((PyObject *)__pyx_codeobj__574)); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 4301, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_40);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_sndplay, __pyx_t_40) < 0) __PYX_ERR(0, 4301, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
+4302: subprocess.run([CLM.player,file])
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_subprocess); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_run); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CLM); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_player); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __Pyx_INCREF(__pyx_v_file); __Pyx_GIVEREF(__pyx_v_file); PyList_SET_ITEM(__pyx_t_2, 1, __pyx_v_file); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;